[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	adas 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();
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]