From: Shirish Pargaonkar Date: Fri, 6 Feb 2009 13:13:38 +0000 (-0500) Subject: mount.cifs: add fakemount (-f) and nomtab (-n) flags to mount.cifs X-Git-Tag: samba-4.0.0alpha7~416^2~131 X-Git-Url: http://git.samba.org/samba.git/?p=sfrench%2Fsamba-autobuild%2F.git;a=commitdiff_plain;h=ea8bd81b6eaf2d2ca005d30c1580e7a45d3b3c5d mount.cifs: add fakemount (-f) and nomtab (-n) flags to mount.cifs ...so that these options work correctly when passed in by mount(8). --- diff --git a/source3/client/mount.cifs.c b/source3/client/mount.cifs.c index 9f4d1d3fd06..df5be846f1b 100644 --- a/source3/client/mount.cifs.c +++ b/source3/client/mount.cifs.c @@ -85,6 +85,7 @@ const char *thisprogram; int verboseflag = 0; +int fakemnt = 0; static int got_password = 0; static int got_user = 0; static int got_domain = 0; @@ -1103,8 +1104,8 @@ int main(int argc, char ** argv) mount_cifs_usage (); exit(EX_USAGE); case 'n': - ++nomtab; - break; + ++nomtab; + break; case 'b': #ifdef MS_BIND flags |= MS_BIND; @@ -1209,6 +1210,9 @@ int main(int argc, char ** argv) break; case 't': break; + case 'f': + ++fakemnt; + break; default: printf("unknown mount option %c\n",c); mount_cifs_usage(); @@ -1410,7 +1414,7 @@ mount_retry: } } - if (mount(dev_name, mountpoint, "cifs", flags, options)) { + if (!fakemnt && mount(dev_name, mountpoint, "cifs", flags, options)) { switch (errno) { case ECONNREFUSED: case EHOSTUNREACH: @@ -1440,6 +1444,8 @@ mount_retry: goto mount_exit; } + if (nomtab) + goto mount_exit; atexit(unlock_mtab); rc = lock_mtab(); if (rc) {