[Cluster-devel] [DLM] res_recover_locks_count not reset when recover_locks is aborted [1/9]

Steven Whitehouse swhiteho at redhat.com
Fri Nov 24 09:34:01 UTC 2006


>From 3c3afe3964bf1259e172e5a8a096a0695897af62 Mon Sep 17 00:00:00 2001
From: David Teigland <teigland at redhat.com>
Date: Thu, 2 Nov 2006 09:49:02 -0600
Subject: [PATCH] [DLM] res_recover_locks_count not reset when recover_locks is aborted

Red Hat BZ 213684

If a node sends an lkb to the new master (RCOM_LOCK message) during
recovery and recovery is then aborted on both nodes before it gets a
reply, the res_recover_locks_count needs to be reset to 0 so that when the
subsequent recovery comes along and sends the lkb to the new master again
the assertion doesn't trigger that checks that counter is zero.

Signed-off-by: David Teigland <teigland at redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>
---
 fs/dlm/recover.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/fs/dlm/recover.c b/fs/dlm/recover.c
index a5e6d18..cf9f683 100644
--- a/fs/dlm/recover.c
+++ b/fs/dlm/recover.c
@@ -252,6 +252,7 @@ static void recover_list_clear(struct dl
 	spin_lock(&ls->ls_recover_list_lock);
 	list_for_each_entry_safe(r, s, &ls->ls_recover_list, res_recover_list) {
 		list_del_init(&r->res_recover_list);
+		r->res_recover_locks_count = 0;
 		dlm_put_rsb(r);
 		ls->ls_recover_list_count--;
 	}
-- 
1.4.1






More information about the Cluster-devel mailing list