diff options
author | Sunil Mushran <sunil.mushran@oracle.com> | 2008-03-10 18:16:21 -0400 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2008-04-18 11:56:08 -0400 |
commit | 29576f8bb54045be944ba809d4fca1ad77c94165 (patch) | |
tree | 9fd56f286df824a819e8fe44316076f55bfb2030 /fs/ocfs2/dlm/dlmdomain.c | |
parent | 724bdca9b8449d9ee5f779dc27ee3d906a04508c (diff) |
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>
Diffstat (limited to 'fs/ocfs2/dlm/dlmdomain.c')
-rw-r--r-- | fs/ocfs2/dlm/dlmdomain.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/ocfs2/dlm/dlmdomain.c b/fs/ocfs2/dlm/dlmdomain.c index b092364d0d52..4f7695c851ed 100644 --- a/fs/ocfs2/dlm/dlmdomain.c +++ b/fs/ocfs2/dlm/dlmdomain.c | |||
@@ -644,6 +644,7 @@ int dlm_shutting_down(struct dlm_ctxt *dlm) | |||
644 | void dlm_unregister_domain(struct dlm_ctxt *dlm) | 644 | void dlm_unregister_domain(struct dlm_ctxt *dlm) |
645 | { | 645 | { |
646 | int leave = 0; | 646 | int leave = 0; |
647 | struct dlm_lock_resource *res; | ||
647 | 648 | ||
648 | spin_lock(&dlm_domain_lock); | 649 | spin_lock(&dlm_domain_lock); |
649 | BUG_ON(dlm->dlm_state != DLM_CTXT_JOINED); | 650 | BUG_ON(dlm->dlm_state != DLM_CTXT_JOINED); |
@@ -673,6 +674,15 @@ void dlm_unregister_domain(struct dlm_ctxt *dlm) | |||
673 | msleep(500); | 674 | msleep(500); |
674 | mlog(0, "%s: more migration to do\n", dlm->name); | 675 | mlog(0, "%s: more migration to do\n", dlm->name); |
675 | } | 676 | } |
677 | |||
678 | /* This list should be empty. If not, print remaining lockres */ | ||
679 | if (!list_empty(&dlm->tracking_list)) { | ||
680 | mlog(ML_ERROR, "Following lockres' are still on the " | ||
681 | "tracking list:\n"); | ||
682 | list_for_each_entry(res, &dlm->tracking_list, tracking) | ||
683 | dlm_print_one_lock_resource(res); | ||
684 | } | ||
685 | |||
676 | dlm_mark_domain_leaving(dlm); | 686 | dlm_mark_domain_leaving(dlm); |
677 | dlm_leave_domain(dlm); | 687 | dlm_leave_domain(dlm); |
678 | dlm_complete_dlm_shutdown(dlm); | 688 | dlm_complete_dlm_shutdown(dlm); |
@@ -1526,6 +1536,7 @@ static struct dlm_ctxt *dlm_alloc_ctxt(const char *domain, | |||
1526 | INIT_LIST_HEAD(&dlm->reco.node_data); | 1536 | INIT_LIST_HEAD(&dlm->reco.node_data); |
1527 | INIT_LIST_HEAD(&dlm->purge_list); | 1537 | INIT_LIST_HEAD(&dlm->purge_list); |
1528 | INIT_LIST_HEAD(&dlm->dlm_domain_handlers); | 1538 | INIT_LIST_HEAD(&dlm->dlm_domain_handlers); |
1539 | INIT_LIST_HEAD(&dlm->tracking_list); | ||
1529 | dlm->reco.state = 0; | 1540 | dlm->reco.state = 0; |
1530 | 1541 | ||
1531 | INIT_LIST_HEAD(&dlm->pending_asts); | 1542 | INIT_LIST_HEAD(&dlm->pending_asts); |