From mboxrd@z Thu Jan 1 00:00:00 1970 From: adas@sourceware.org Date: 18 Jan 2008 17:51:39 -0000 Subject: [Cluster-devel] cluster/gfs2/mount mount.gfs2.c Message-ID: <20080118175139.16126.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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();