gfs2-utils: master - cman: gfs_controld dm suspend hangs withdrawn GFS file system

Bob Peterson rpeterso at fedoraproject.org
Tue Mar 9 16:44:12 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/gfs2-utils.git?p=gfs2-utils.git;a=commitdiff;h=3c4002c3101cb5e893295408fb819f77c285b6d0
Commit:        3c4002c3101cb5e893295408fb819f77c285b6d0
Parent:        401978135300fac660a6a8b9ca2265c7b32e7e4e
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 10:39:58 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 d6d46ee..c2cb741 100644
--- a/group/gfs_controld/util.c
+++ b/group/gfs_controld/util.c
@@ -105,7 +105,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