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

Bob Peterson rpeterso at fedoraproject.org
Tue Mar 9 16:32:05 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=ab02e00776c03abec5669869d58e2b77205fc993
Commit:        ab02e00776c03abec5669869d58e2b77205fc993
Parent:        93bc69682e78c9c8c4652afbdaa835deca858fb0
Author:        Bob Peterson <rpeterso at redhat.com>
AuthorDate:    Tue Mar 9 09:28:34 2010 -0600
Committer:     Bob Peterson <rpeterso at redhat.com>
CommitterDate: Tue Mar 9 09:28:34 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#571806
---
 group/gfs_controld/util.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/group/gfs_controld/util.c b/group/gfs_controld/util.c
index 400fe81..7aea26e 100644
--- a/group/gfs_controld/util.c
+++ b/group/gfs_controld/util.c
@@ -152,7 +152,8 @@ 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