]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mount/stropts.c
text-based mount: Set addr= option in nfs_try_mount_foo()
[nfs-utils.git] / utils / mount / stropts.c
index 4ffee485f0d0c29f42ffd9eddd1f689d0cba3725..fc1b0da5da65a723ba6385a4f2bfbc34e339bab1 100644 (file)
@@ -563,10 +563,6 @@ static int nfs_sys_mount(struct nfsmount_info *mi, struct mount_options *opts)
                return 0;
        }
 
-       if (verbose)
-               printf(_("%s: trying text-based options '%s'\n"),
-                       progname, options);
-
        if (mi->fake)
                return 1;
 
@@ -585,6 +581,7 @@ static int nfs_sys_mount(struct nfsmount_info *mi, struct mount_options *opts)
  */
 static int nfs_try_mount_v3v2(struct nfsmount_info *mi)
 {
+       struct addrinfo *ai = mi->address;
        struct mount_options *options = po_dup(mi->options);
        int result = 0;
 
@@ -593,6 +590,11 @@ static int nfs_try_mount_v3v2(struct nfsmount_info *mi)
                return result;
        }
 
+       if (!nfs_append_addr_option(ai->ai_addr, ai->ai_addrlen, options)) {
+               errno = EINVAL;
+               goto out_fail;
+       }
+
        if (!nfs_fix_mounthost_option(options, mi->hostname)) {
                errno = EINVAL;
                goto out_fail;
@@ -613,6 +615,10 @@ static int nfs_try_mount_v3v2(struct nfsmount_info *mi)
                goto out_fail;
        }
 
+       if (verbose)
+               printf(_("%s: trying text-based options '%s'\n"),
+                       progname, *mi->extra_opts);
+
        if (!nfs_rewrite_pmap_mount_options(options))
                goto out_fail;
 
@@ -656,6 +662,11 @@ static int nfs_try_mount_v4(struct nfsmount_info *mi)
                }
        }
 
+       if (!nfs_append_addr_option(ai->ai_addr, ai->ai_addrlen, options)) {
+               errno = EINVAL;
+               goto out_fail;
+       }
+
        if (!nfs_append_clientaddr_option(ai->ai_addr, ai->ai_addrlen, options)) {
                errno = EINVAL;
                goto out_fail;
@@ -669,6 +680,10 @@ static int nfs_try_mount_v4(struct nfsmount_info *mi)
                goto out_fail;
        }
 
+       if (verbose)
+               printf(_("%s: trying text-based options '%s'\n"),
+                       progname, *mi->extra_opts);
+
        result = nfs_sys_mount(mi, options);
 
 out_fail: