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

[email protected] <[email protected]>
Newsgroups com.redhat.cluster-devel
Message-ID <[email protected]>
CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	adas at sourceware.org	2008-01-18 17:51:38

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&r1=1.27&r2=1.28

--- cluster/gfs2/mount/mount.gfs2.c	2007/08/22 08:58:46	1.27
+++ cluster/gfs2/mount/mount.gfs2.c	2008/01/18 17:51:38	1.28
@@ -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();
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.