]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mount/stropts.c
The text-based mount command displays the rather inexplicable "mount:
[nfs-utils.git] / utils / mount / stropts.c
index 3564f15c098dbe434727f8dc9f6a76ede8ab2674..c8148c42a4ed7b1a6ba42c05aaf1fe0f585b390c 100644 (file)
@@ -357,9 +357,12 @@ static struct mount_options *rewrite_mount_options(char *str)
        int p;
 
        options = po_split(str);
-       if (!options)
+       if (!options) {
+               errno = EFAULT;
                return NULL;
+       }
 
+       errno = EINVAL;
        option = po_get(options, "addr");
        if (option) {
                nfs_server.saddr.sin_family = AF_INET;
@@ -426,7 +429,7 @@ static struct mount_options *rewrite_mount_options(char *str)
        po_remove_all(options, "udp");
 
        if (!probe_bothports(&mnt_server, &nfs_server)) {
-               rpc_mount_errors("rpcbind", 0, 0);
+               errno = ESPIPE;
                goto err;
        }
 
@@ -452,6 +455,7 @@ static struct mount_options *rewrite_mount_options(char *str)
 
        }
 
+       errno = 0;
        return options;
 
 err:
@@ -498,10 +502,8 @@ static int nfs_retry_nfs23mount(struct nfsmount_info *mi)
        char **extra_opts = mi->extra_opts;
 
        retry_options = rewrite_mount_options(*extra_opts);
-       if (!retry_options) {
-               errno = EIO;
+       if (!retry_options)
                return 0;
-       }
 
        if (po_join(retry_options, &retry_str) == PO_FAILED) {
                po_destroy(retry_options);