ocfs2/dlm: Link all lockres' to a tracking list
This patch links all the lockres' to a tracking list in dlm_ctxt. We will use this in an upcoming patch that will walk the entire list and to dump the lockres states to a debugfs file. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mfasheh@suse.com>
这个提交包含在:
@@ -639,6 +639,14 @@ static void dlm_lockres_release(struct kref *kref)
|
||||
mlog(0, "destroying lockres %.*s\n", res->lockname.len,
|
||||
res->lockname.name);
|
||||
|
||||
if (!list_empty(&res->tracking))
|
||||
list_del_init(&res->tracking);
|
||||
else {
|
||||
mlog(ML_ERROR, "Resource %.*s not on the Tracking list\n",
|
||||
res->lockname.len, res->lockname.name);
|
||||
dlm_print_one_lock_resource(res);
|
||||
}
|
||||
|
||||
if (!hlist_unhashed(&res->hash_node) ||
|
||||
!list_empty(&res->granted) ||
|
||||
!list_empty(&res->converting) ||
|
||||
@@ -706,6 +714,7 @@ static void dlm_init_lockres(struct dlm_ctxt *dlm,
|
||||
INIT_LIST_HEAD(&res->dirty);
|
||||
INIT_LIST_HEAD(&res->recovering);
|
||||
INIT_LIST_HEAD(&res->purge);
|
||||
INIT_LIST_HEAD(&res->tracking);
|
||||
atomic_set(&res->asts_reserved, 0);
|
||||
res->migration_pending = 0;
|
||||
res->inflight_locks = 0;
|
||||
@@ -721,6 +730,8 @@ static void dlm_init_lockres(struct dlm_ctxt *dlm,
|
||||
|
||||
res->last_used = 0;
|
||||
|
||||
list_add_tail(&res->tracking, &dlm->tracking_list);
|
||||
|
||||
memset(res->lvb, 0, DLM_LVB_LEN);
|
||||
memset(res->refmap, 0, sizeof(res->refmap));
|
||||
}
|
||||
|
在新工单中引用
屏蔽一个用户