mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
ocfs2/dlm: Trace insert/remove of resource to/from hash
Add mlog to trace adding and removing the resource from/to the hash table. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
This commit is contained in:
parent
8d400b81cc
commit
e9f0b6a623
@ -877,9 +877,8 @@ static inline void dlm_lockres_get(struct dlm_lock_resource *res)
|
||||
kref_get(&res->refs);
|
||||
}
|
||||
void dlm_lockres_put(struct dlm_lock_resource *res);
|
||||
void __dlm_unhash_lockres(struct dlm_lock_resource *res);
|
||||
void __dlm_insert_lockres(struct dlm_ctxt *dlm,
|
||||
struct dlm_lock_resource *res);
|
||||
void __dlm_unhash_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res);
|
||||
void __dlm_insert_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res);
|
||||
struct dlm_lock_resource * __dlm_lookup_lockres_full(struct dlm_ctxt *dlm,
|
||||
const char *name,
|
||||
unsigned int len,
|
||||
|
@ -157,16 +157,18 @@ static int dlm_protocol_compare(struct dlm_protocol_version *existing,
|
||||
|
||||
static void dlm_unregister_domain_handlers(struct dlm_ctxt *dlm);
|
||||
|
||||
void __dlm_unhash_lockres(struct dlm_lock_resource *lockres)
|
||||
void __dlm_unhash_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res)
|
||||
{
|
||||
if (!hlist_unhashed(&lockres->hash_node)) {
|
||||
hlist_del_init(&lockres->hash_node);
|
||||
dlm_lockres_put(lockres);
|
||||
}
|
||||
if (hlist_unhashed(&res->hash_node))
|
||||
return;
|
||||
|
||||
mlog(0, "%s: Unhash res %.*s\n", dlm->name, res->lockname.len,
|
||||
res->lockname.name);
|
||||
hlist_del_init(&res->hash_node);
|
||||
dlm_lockres_put(res);
|
||||
}
|
||||
|
||||
void __dlm_insert_lockres(struct dlm_ctxt *dlm,
|
||||
struct dlm_lock_resource *res)
|
||||
void __dlm_insert_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res)
|
||||
{
|
||||
struct hlist_head *bucket;
|
||||
struct qstr *q;
|
||||
@ -180,6 +182,9 @@ void __dlm_insert_lockres(struct dlm_ctxt *dlm,
|
||||
dlm_lockres_get(res);
|
||||
|
||||
hlist_add_head(&res->hash_node, bucket);
|
||||
|
||||
mlog(0, "%s: Hash res %.*s\n", dlm->name, res->lockname.len,
|
||||
res->lockname.name);
|
||||
}
|
||||
|
||||
struct dlm_lock_resource * __dlm_lookup_lockres_full(struct dlm_ctxt *dlm,
|
||||
|
@ -207,7 +207,7 @@ static void dlm_purge_lockres(struct dlm_ctxt *dlm,
|
||||
BUG();
|
||||
}
|
||||
|
||||
__dlm_unhash_lockres(res);
|
||||
__dlm_unhash_lockres(dlm, res);
|
||||
|
||||
/* lockres is not in the hash now. drop the flag and wake up
|
||||
* any processes waiting in dlm_get_lock_resource. */
|
||||
|
Loading…
Reference in New Issue
Block a user