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
3 changed files with 15 additions and 11 deletions
|
@ -877,9 +877,8 @@ static inline void dlm_lockres_get(struct dlm_lock_resource *res)
|
||||||
kref_get(&res->refs);
|
kref_get(&res->refs);
|
||||||
}
|
}
|
||||||
void dlm_lockres_put(struct dlm_lock_resource *res);
|
void dlm_lockres_put(struct dlm_lock_resource *res);
|
||||||
void __dlm_unhash_lockres(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,
|
void __dlm_insert_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res);
|
||||||
struct dlm_lock_resource *res);
|
|
||||||
struct dlm_lock_resource * __dlm_lookup_lockres_full(struct dlm_ctxt *dlm,
|
struct dlm_lock_resource * __dlm_lookup_lockres_full(struct dlm_ctxt *dlm,
|
||||||
const char *name,
|
const char *name,
|
||||||
unsigned int len,
|
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);
|
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)) {
|
if (hlist_unhashed(&res->hash_node))
|
||||||
hlist_del_init(&lockres->hash_node);
|
return;
|
||||||
dlm_lockres_put(lockres);
|
|
||||||
}
|
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,
|
void __dlm_insert_lockres(struct dlm_ctxt *dlm, struct dlm_lock_resource *res)
|
||||||
struct dlm_lock_resource *res)
|
|
||||||
{
|
{
|
||||||
struct hlist_head *bucket;
|
struct hlist_head *bucket;
|
||||||
struct qstr *q;
|
struct qstr *q;
|
||||||
|
@ -180,6 +182,9 @@ void __dlm_insert_lockres(struct dlm_ctxt *dlm,
|
||||||
dlm_lockres_get(res);
|
dlm_lockres_get(res);
|
||||||
|
|
||||||
hlist_add_head(&res->hash_node, bucket);
|
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,
|
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();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
||||||
__dlm_unhash_lockres(res);
|
__dlm_unhash_lockres(dlm, res);
|
||||||
|
|
||||||
/* lockres is not in the hash now. drop the flag and wake up
|
/* lockres is not in the hash now. drop the flag and wake up
|
||||||
* any processes waiting in dlm_get_lock_resource. */
|
* any processes waiting in dlm_get_lock_resource. */
|
||||||
|
|
Loading…
Add table
Reference in a new issue