diff options
Diffstat (limited to 'fs/ocfs2/dlm/dlmmaster.c')
-rw-r--r-- | fs/ocfs2/dlm/dlmmaster.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c index ac9ed31e5445..97133465891c 100644 --- a/fs/ocfs2/dlm/dlmmaster.c +++ b/fs/ocfs2/dlm/dlmmaster.c | |||
@@ -639,6 +639,14 @@ static void dlm_lockres_release(struct kref *kref) | |||
639 | mlog(0, "destroying lockres %.*s\n", res->lockname.len, | 639 | mlog(0, "destroying lockres %.*s\n", res->lockname.len, |
640 | res->lockname.name); | 640 | res->lockname.name); |
641 | 641 | ||
642 | if (!list_empty(&res->tracking)) | ||
643 | list_del_init(&res->tracking); | ||
644 | else { | ||
645 | mlog(ML_ERROR, "Resource %.*s not on the Tracking list\n", | ||
646 | res->lockname.len, res->lockname.name); | ||
647 | dlm_print_one_lock_resource(res); | ||
648 | } | ||
649 | |||
642 | if (!hlist_unhashed(&res->hash_node) || | 650 | if (!hlist_unhashed(&res->hash_node) || |
643 | !list_empty(&res->granted) || | 651 | !list_empty(&res->granted) || |
644 | !list_empty(&res->converting) || | 652 | !list_empty(&res->converting) || |
@@ -706,6 +714,7 @@ static void dlm_init_lockres(struct dlm_ctxt *dlm, | |||
706 | INIT_LIST_HEAD(&res->dirty); | 714 | INIT_LIST_HEAD(&res->dirty); |
707 | INIT_LIST_HEAD(&res->recovering); | 715 | INIT_LIST_HEAD(&res->recovering); |
708 | INIT_LIST_HEAD(&res->purge); | 716 | INIT_LIST_HEAD(&res->purge); |
717 | INIT_LIST_HEAD(&res->tracking); | ||
709 | atomic_set(&res->asts_reserved, 0); | 718 | atomic_set(&res->asts_reserved, 0); |
710 | res->migration_pending = 0; | 719 | res->migration_pending = 0; |
711 | res->inflight_locks = 0; | 720 | res->inflight_locks = 0; |
@@ -721,6 +730,8 @@ static void dlm_init_lockres(struct dlm_ctxt *dlm, | |||
721 | 730 | ||
722 | res->last_used = 0; | 731 | res->last_used = 0; |
723 | 732 | ||
733 | list_add_tail(&res->tracking, &dlm->tracking_list); | ||
734 | |||
724 | memset(res->lvb, 0, DLM_LVB_LEN); | 735 | memset(res->lvb, 0, DLM_LVB_LEN); |
725 | memset(res->refmap, 0, sizeof(res->refmap)); | 736 | memset(res->refmap, 0, sizeof(res->refmap)); |
726 | } | 737 | } |