diff options
author | Shirish Pargaonkar <shirishpargaonkar@gmail.com> | 2009-02-06 08:13:38 -0500 |
---|---|---|
committer | Jeff Layton <jlayton@redhat.com> | 2009-02-06 08:13:38 -0500 |
commit | ea8bd81b6eaf2d2ca005d30c1580e7a45d3b3c5d (patch) | |
tree | 6204c95012671468ee7d3c7e486f1d75eb02a7e5 /source3 | |
parent | 2170a810ed16043c6292eb3e39437a8cf96a8be6 (diff) | |
download | samba-ea8bd81b6eaf2d2ca005d30c1580e7a45d3b3c5d.tar.gz samba-ea8bd81b6eaf2d2ca005d30c1580e7a45d3b3c5d.tar.bz2 samba-ea8bd81b6eaf2d2ca005d30c1580e7a45d3b3c5d.zip |
mount.cifs: add fakemount (-f) and nomtab (-n) flags to mount.cifs
...so that these options work correctly when passed in by mount(8).
Diffstat (limited to 'source3')
-rw-r--r-- | source3/client/mount.cifs.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source3/client/mount.cifs.c b/source3/client/mount.cifs.c index 9f4d1d3fd0..df5be846f1 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) { |