cluster: RHEL55 - cman: gfs_controld dm suspend hangs withdrawn GFS file system

Bob Peterson rpeterso at fedoraproject.org
Tue Mar 9 15:18:43 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=ac07c1e11e5a732ec80c5731f91307667a36ca31
Commit:        ac07c1e11e5a732ec80c5731f91307667a36ca31
Parent:        aa83b6f3b2606964e602bed3c6f467641f31891d
Author:        Bob Peterson <rpeterso at redhat.com>
AuthorDate:    Tue Mar 9 09:05:40 2010 -0600
Committer:     Bob Peterson <rpeterso at redhat.com>
CommitterDate: Tue Mar 9 09:05:40 2010 -0600

cman: gfs_controld dm suspend hangs withdrawn GFS file system

This patch changes gfs_controld such that if a device mapper (dm)
suspend needs to be done, it passes the --nolockfs and --noflush
parameters.  Now that gfs and gfs2 are using the standard means
of calling freeze and thaw, a gfs withdraw will cause the
suspend uevent.  Without those parameters, the file system is
permanently frozen with no way to unfreeze.  (You can't unfreeze
it since gfs has withdrawn).  In other words, a reboot of the
entire cluster it required to recover.

rhbz#570530
---
 group/gfs_controld/recover.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/group/gfs_controld/recover.c b/group/gfs_controld/recover.c
index 3eec64f..931b357 100644
--- a/group/gfs_controld/recover.c
+++ b/group/gfs_controld/recover.c
@@ -2711,7 +2711,8 @@ static int run_dmsetup_suspend(struct mountgroup *mg, char *dev)
 		for (i = 0; i < 50; i++)
 			close(i);
 	
-		execlp("dmsetup", "dmsetup", "suspend", buf, NULL);
+		execlp("dmsetup", "dmsetup", "suspend",  "--nolockfs",
+		       "--noflush", buf, NULL);
 		exit(EXIT_FAILURE);
 	}
 	return -1;


More information about the cluster-commits mailing list