]> git.decadent.org.uk Git - nfs-utils.git/commitdiff
mount.nfs: Don't hard code source and destination
authorPrem Karat <prem.karat@linux.vnet.ibm.com>
Tue, 28 Jun 2011 15:53:40 +0000 (11:53 -0400)
committerSteve Dickson <steved@redhat.com>
Wed, 29 Jun 2011 14:18:30 +0000 (10:18 -0400)
Currently souce and destination parameters should be passed as first and
second paramter while using mount.nfs. This patch allows them to be passed
anywhere while mounting.

Current functionality is
mount.nfs source destn -o <options>
This patch will allow to do this
mount.nfs -o <options> source destn
or
mount.nfs -o <options> source -o <options> destn

Signed-off-by: Prem Karat <prem.karat@linux.vnet.ibm.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
utils/mount/mount.c

index f3f0a8310164a02a860aa48b9ae13cfc2a1da6af..62115bbdbfe579828e92e211670e6f477cd96380 100644 (file)
@@ -374,7 +374,7 @@ static int try_mount(char *spec, char *mount_point, int flags,
 int main(int argc, char *argv[])
 {
        int c, flags = 0, mnt_err = 1, fake = 0;
-       char *spec, *mount_point, *fs_type = "nfs";
+       char *spec = NULL, *mount_point = NULL, *fs_type = "nfs";
        char *extra_opts = NULL, *mount_opts = NULL;
        uid_t uid = getuid();
 
@@ -398,9 +398,6 @@ int main(int argc, char *argv[])
                exit(EX_USAGE);
        }
 
-       spec = argv[1];
-       mount_point = argv[2];
-
        mount_config_init(progname);
 
        argv[2] = argv[0]; /* so that getopt error messages are correct */
@@ -447,6 +444,14 @@ int main(int argc, char *argv[])
        if (optind != argc - 2) {
                mount_usage();
                goto out_usage;
+       } else {
+               while (optind < argc) {
+                       if (!spec)
+                               spec = argv[optind];
+                       else
+                               mount_point = argv[optind];
+                       optind++;
+               }
        }
 
        if (strcmp(progname, "mount.nfs4") == 0)