CVSROOT:        /cvs/cluster
Module name:    cluster
Branch:         RHEL5
Changes by:     [EMAIL PROTECTED]       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();
 

Reply via email to