Re: [PATCH] mount.nfs: Recognize v4.x mount options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 13/11/13 10:14, Weston Andros Adamson wrote:
> The kernel understands text options of the form "v4.x" (ie "v4.1"), but
> mount.nfs does not and this leads to weird errors when the requested
> mount fails: a line in dmesg about version 3 not supporting minorversions
> and mount.nfs returning EINVAL no matter what the real error was.
> 
> This happens because mount.nfs thinks no version was specified so it starts
> probing other versions which conflicts with the v4.X option once it gets
> parsed by the kernel.
> 
> $ sudo mount -v -o v4.1 zero:/invalid_export /mnt
> mount.nfs: timeout set for Wed Nov 13 10:09:48 2013
> mount.nfs: trying text-based options 'v4.1,vers=4,addr=192.168.100.10,clientaddr=192.168.100.11'
> mount.nfs: mount(2): No such file or directory
> mount.nfs: trying text-based options 'v4.1,addr=192.168.100.10'
> mount.nfs: prog 100003, trying vers=3, prot=6
> mount.nfs: trying 192.168.100.10 prog 100003 vers 3 prot TCP port 2049
> mount.nfs: prog 100005, trying vers=3, prot=17
> mount.nfs: trying 192.168.100.10 prog 100005 vers 3 prot UDP port 20048
> mount.nfs: mount(2): Invalid argument
> mount.nfs: an incorrect mount option was specified
> 
> And you get this in dmesg:
> 
> NFS: mount option vers=3 does not support minorversion=1
> 
> but if you use another form of the same options, this doesn't happen:
> 
> $ sudo mount -v -o vers=4,minorversion=1 zero:/invalid_export /mnt
> mount.nfs: timeout set for Wed Nov 13 10:10:28 2013
> mount.nfs: trying text-based options 'vers=4,minorversion=1,addr=192.168.100.10,clientaddr=192.168.100.11'
> mount.nfs: mount(2): No such file or directory
> mount.nfs: mounting zero:/invalid_export failed, reason given by server: No such file or directory
> 
> Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx>
Committed (tag: nfs-utils-1-2-10-rc1)

steved.

> ---
>  utils/mount/network.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/utils/mount/network.c b/utils/mount/network.c
> index e8e55a5..2853d00 100644
> --- a/utils/mount/network.c
> +++ b/utils/mount/network.c
> @@ -92,6 +92,9 @@ static const char *nfs_version_opttbl[] = {
>  	"v4",
>  	"vers",
>  	"nfsvers",
> +	"v4.0",
> +	"v4.1",
> +	"v4.2",
>  	NULL,
>  };
>  
> @@ -1269,6 +1272,11 @@ nfs_nfs_version(struct mount_options *options, unsigned long *version)
>  					progname);
>  			return 0;
>  		}
> +	case 5: /* v4.0 */
> +	case 6: /* v4.1 */
> +	case 7: /* v4.2 */
> +		*version = 4;
> +		return 1;
>  	}
>  
>  	/*
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux