[Cluster-devel] cluster/gfs2/mount mount.gfs2.c

adas at sourceware.org adas at sourceware.org
Fri Jan 18 17:51:42 UTC 2008


CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL5
Changes by:	adas at sourceware.org	2008-01-18 17:51:42

Modified files:
	gfs2/mount     : mount.gfs2.c 

Log message:
	fix for bz333961 - adds support for -n and -f mount options

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/mount/mount.gfs2.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.20.2.7&r2=1.20.2.8

--- cluster/gfs2/mount/mount.gfs2.c	2007/08/06 19:26:52	1.20.2.7
+++ cluster/gfs2/mount/mount.gfs2.c	2008/01/18 17:51:41	1.20.2.8
@@ -10,7 +10,7 @@
 
 char *prog_name;
 char *fsname;
-int verbose;
+int verbose, fake_mount = 0, no_mtab = 0;
 static sigset_t old_sigset;
 
 static void print_version(void)
@@ -48,7 +48,7 @@
 	/* FIXME: check for "quiet" option and don't print in that case */
 
 	while (cont) {
-		optchar = getopt(argc, argv, "hVo:t:v");
+		optchar = getopt(argc, argv, "hVo:t:vfn");
 
 		switch (optchar) {
 		case EOF:
@@ -77,6 +77,14 @@
 				strncpy(mo->type, optarg, 4);
 			break;
 
+		case 'f':
+			fake_mount = 1;
+			break;
+			
+		case 'n':
+			no_mtab = 1;
+			break;
+
 		default:
 			break;
 		}
@@ -184,7 +192,7 @@
 	struct mount_options mo;
 	struct gen_sb sb;
 	char *proto;
-	int rv;
+	int rv = 0;
 
 	memset(&mo, 0, sizeof(mo));
 	memset(&sb, 0, sizeof(sb));
@@ -219,6 +227,7 @@
 	   adding the mtab entry */
 	block_sigint();
 
+	if (!fake_mount) {
 	rv = mount_lockproto(proto, &mo, &sb);
 	if (rv < 0)
 		die("error mounting lockproto %s\n", proto);
@@ -238,12 +247,15 @@
 	}
 	log_debug("mount(2) ok");
 	mount_result_lockproto(proto, &mo, &sb, 0);
+	}
 
+	if (!no_mtab) {
 	if (mo.flags & MS_REMOUNT) {
                 del_mtab_entry(&mo);
                 add_mtab_entry(&mo);
         } else
 		add_mtab_entry(&mo);
+	}
 
 	unblock_sigint();
 




More information about the Cluster-devel mailing list