Message ID | 1436193748-4301-1-git-send-email-steved@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jul 6, 2015 at 10:42 AM, Steve Dickson <steved@redhat.com> wrote: > When the mountversion option is used, there should > not be any mount negotiations with the server. > > Also, when the option is used, its know that the mount > is a v4 mount and a V_SPECFIC type. > > Signed-off-by: Steve Dickson <steved@redhat.com> > --- > utils/mount/network.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/utils/mount/network.c b/utils/mount/network.c > index b5ed850..ebc39d3 100644 > --- a/utils/mount/network.c > +++ b/utils/mount/network.c > @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { > "v4", > "vers", > "nfsvers", > + "minorversion", > NULL, > }; > > @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) > if (!(version->major = strtol(version_val, &cptr, 10))) > goto ret_error; > > - if (version->major < 4) > + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { > + version->v_mode = V_SPECIFIC; > + version->minor = version->major; > + version->major = 4; > + } else if (version->major < 4) > version->v_mode = V_SPECIFIC; > > if (*cptr == '.') { > Doesn't this cause a dependency on the ordering of 'nfsvers'/'vers' and 'minorversion' in your mount options string? Cheers Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/06/2015 11:19 AM, Trond Myklebust wrote: > On Mon, Jul 6, 2015 at 10:42 AM, Steve Dickson <steved@redhat.com> wrote: >> When the mountversion option is used, there should >> not be any mount negotiations with the server. >> >> Also, when the option is used, its know that the mount >> is a v4 mount and a V_SPECFIC type. >> >> Signed-off-by: Steve Dickson <steved@redhat.com> >> --- >> utils/mount/network.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/utils/mount/network.c b/utils/mount/network.c >> index b5ed850..ebc39d3 100644 >> --- a/utils/mount/network.c >> +++ b/utils/mount/network.c >> @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { >> "v4", >> "vers", >> "nfsvers", >> + "minorversion", >> NULL, >> }; >> >> @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) >> if (!(version->major = strtol(version_val, &cptr, 10))) >> goto ret_error; >> >> - if (version->major < 4) >> + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { >> + version->v_mode = V_SPECIFIC; >> + version->minor = version->major; >> + version->major = 4; >> + } else if (version->major < 4) >> version->v_mode = V_SPECIFIC; >> >> if (*cptr == '.') { >> > > Doesn't this cause a dependency on the ordering of 'nfsvers'/'vers' > and 'minorversion' in your mount options string? I don't think so... The only combination that does not work is -o nfsvers=3,minorversion=1 which should fail... What am I missing? steved. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jul 6, 2015 at 12:50 PM, Steve Dickson <SteveD@redhat.com> wrote: > > > On 07/06/2015 11:19 AM, Trond Myklebust wrote: >> On Mon, Jul 6, 2015 at 10:42 AM, Steve Dickson <steved@redhat.com> wrote: >>> When the mountversion option is used, there should >>> not be any mount negotiations with the server. >>> >>> Also, when the option is used, its know that the mount >>> is a v4 mount and a V_SPECFIC type. >>> >>> Signed-off-by: Steve Dickson <steved@redhat.com> >>> --- >>> utils/mount/network.c | 7 ++++++- >>> 1 file changed, 6 insertions(+), 1 deletion(-) >>> >>> diff --git a/utils/mount/network.c b/utils/mount/network.c >>> index b5ed850..ebc39d3 100644 >>> --- a/utils/mount/network.c >>> +++ b/utils/mount/network.c >>> @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { >>> "v4", >>> "vers", >>> "nfsvers", >>> + "minorversion", >>> NULL, >>> }; >>> >>> @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) >>> if (!(version->major = strtol(version_val, &cptr, 10))) >>> goto ret_error; >>> >>> - if (version->major < 4) >>> + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { >>> + version->v_mode = V_SPECIFIC; >>> + version->minor = version->major; >>> + version->major = 4; >>> + } else if (version->major < 4) >>> version->v_mode = V_SPECIFIC; >>> >>> if (*cptr == '.') { >>> >> >> Doesn't this cause a dependency on the ordering of 'nfsvers'/'vers' >> and 'minorversion' in your mount options string? > I don't think so... The only combination that does not work > is -o nfsvers=3,minorversion=1 which should fail... > > What am I missing? > Does "-o minorversion=1,nfsvers=3" show the same behaviour? Cheers Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/06/2015 12:53 PM, Trond Myklebust wrote: > On Mon, Jul 6, 2015 at 12:50 PM, Steve Dickson <SteveD@redhat.com> wrote: >> >> >> On 07/06/2015 11:19 AM, Trond Myklebust wrote: >>> On Mon, Jul 6, 2015 at 10:42 AM, Steve Dickson <steved@redhat.com> wrote: >>>> When the mountversion option is used, there should >>>> not be any mount negotiations with the server. >>>> >>>> Also, when the option is used, its know that the mount >>>> is a v4 mount and a V_SPECFIC type. >>>> >>>> Signed-off-by: Steve Dickson <steved@redhat.com> >>>> --- >>>> utils/mount/network.c | 7 ++++++- >>>> 1 file changed, 6 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/utils/mount/network.c b/utils/mount/network.c >>>> index b5ed850..ebc39d3 100644 >>>> --- a/utils/mount/network.c >>>> +++ b/utils/mount/network.c >>>> @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { >>>> "v4", >>>> "vers", >>>> "nfsvers", >>>> + "minorversion", >>>> NULL, >>>> }; >>>> >>>> @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) >>>> if (!(version->major = strtol(version_val, &cptr, 10))) >>>> goto ret_error; >>>> >>>> - if (version->major < 4) >>>> + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { >>>> + version->v_mode = V_SPECIFIC; >>>> + version->minor = version->major; >>>> + version->major = 4; >>>> + } else if (version->major < 4) >>>> version->v_mode = V_SPECIFIC; >>>> >>>> if (*cptr == '.') { >>>> >>> >>> Doesn't this cause a dependency on the ordering of 'nfsvers'/'vers' >>> and 'minorversion' in your mount options string? >> I don't think so... The only combination that does not work >> is -o nfsvers=3,minorversion=1 which should fail... >> >> What am I missing? >> > > Does "-o minorversion=1,nfsvers=3" show the same behaviour? It does # mount.nfs -o minorversion=1,nfsvers=3 freddy:/home /mnt/home mount.nfs: an incorrect mount option was specified Plus a nice little error message comes out on the console NFS: mount option vers=3 does not support minorversion=1 And -o minorversion=0,nfsvers=3 works as expected... steved. > > Cheers > Trond > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 7/6/2015 23:19, Trond Myklebust wrote: > On Mon, Jul 6, 2015 at 10:42 AM, Steve Dickson <steved@redhat.com> wrote: >> When the mountversion option is used, there should >> not be any mount negotiations with the server. >> >> Also, when the option is used, its know that the mount >> is a v4 mount and a V_SPECFIC type. >> >> Signed-off-by: Steve Dickson <steved@redhat.com> >> --- >> utils/mount/network.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/utils/mount/network.c b/utils/mount/network.c >> index b5ed850..ebc39d3 100644 >> --- a/utils/mount/network.c >> +++ b/utils/mount/network.c >> @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { >> "v4", >> "vers", >> "nfsvers", >> + "minorversion", >> NULL, >> }; >> >> @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) >> if (!(version->major = strtol(version_val, &cptr, 10))) >> goto ret_error; >> >> - if (version->major < 4) >> + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { >> + version->v_mode = V_SPECIFIC; >> + version->minor = version->major; >> + version->major = 4; >> + } else if (version->major < 4) >> version->v_mode = V_SPECIFIC; >> >> if (*cptr == '.') { >> > > Doesn't this cause a dependency on the ordering of 'nfsvers'/'vers' > and 'minorversion' in your mount options string? Without this patch, there is a dependency on the ordering now. mount with "-o minorversion=1", nfs gets strings as "minorversion=1,vers=4.2" If nfs-utils doesn't parse minorversion, the order dependency also exist. I agree with parsing minorversion in nfs-utils. thanks, Kinglong Mee -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jul 6, 2015 at 6:21 PM, Kinglong Mee <kinglongmee@gmail.com> wrote: > On 7/6/2015 23:19, Trond Myklebust wrote: >> On Mon, Jul 6, 2015 at 10:42 AM, Steve Dickson <steved@redhat.com> wrote: >>> When the mountversion option is used, there should >>> not be any mount negotiations with the server. >>> >>> Also, when the option is used, its know that the mount >>> is a v4 mount and a V_SPECFIC type. >>> >>> Signed-off-by: Steve Dickson <steved@redhat.com> >>> --- >>> utils/mount/network.c | 7 ++++++- >>> 1 file changed, 6 insertions(+), 1 deletion(-) >>> >>> diff --git a/utils/mount/network.c b/utils/mount/network.c >>> index b5ed850..ebc39d3 100644 >>> --- a/utils/mount/network.c >>> +++ b/utils/mount/network.c >>> @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { >>> "v4", >>> "vers", >>> "nfsvers", >>> + "minorversion", >>> NULL, >>> }; >>> >>> @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) >>> if (!(version->major = strtol(version_val, &cptr, 10))) >>> goto ret_error; >>> >>> - if (version->major < 4) >>> + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { >>> + version->v_mode = V_SPECIFIC; >>> + version->minor = version->major; >>> + version->major = 4; >>> + } else if (version->major < 4) >>> version->v_mode = V_SPECIFIC; >>> >>> if (*cptr == '.') { >>> >> >> Doesn't this cause a dependency on the ordering of 'nfsvers'/'vers' >> and 'minorversion' in your mount options string? > > Without this patch, there is a dependency on the ordering now. > mount with "-o minorversion=1", nfs gets strings as "minorversion=1,vers=4.2" > > If nfs-utils doesn't parse minorversion, the order dependency also exist. > > I agree with parsing minorversion in nfs-utils. > I was rather hoping we could get rid of 'minorversion' soon. It is a wart, and we've already agreed to deprecate it. Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/06/2015 06:29 PM, Trond Myklebust wrote: > On Mon, Jul 6, 2015 at 6:21 PM, Kinglong Mee <kinglongmee@gmail.com> wrote: >> On 7/6/2015 23:19, Trond Myklebust wrote: >>> On Mon, Jul 6, 2015 at 10:42 AM, Steve Dickson <steved@redhat.com> wrote: >>>> When the mountversion option is used, there should >>>> not be any mount negotiations with the server. >>>> >>>> Also, when the option is used, its know that the mount >>>> is a v4 mount and a V_SPECFIC type. >>>> >>>> Signed-off-by: Steve Dickson <steved@redhat.com> >>>> --- >>>> utils/mount/network.c | 7 ++++++- >>>> 1 file changed, 6 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/utils/mount/network.c b/utils/mount/network.c >>>> index b5ed850..ebc39d3 100644 >>>> --- a/utils/mount/network.c >>>> +++ b/utils/mount/network.c >>>> @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { >>>> "v4", >>>> "vers", >>>> "nfsvers", >>>> + "minorversion", >>>> NULL, >>>> }; >>>> >>>> @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) >>>> if (!(version->major = strtol(version_val, &cptr, 10))) >>>> goto ret_error; >>>> >>>> - if (version->major < 4) >>>> + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { >>>> + version->v_mode = V_SPECIFIC; >>>> + version->minor = version->major; >>>> + version->major = 4; >>>> + } else if (version->major < 4) >>>> version->v_mode = V_SPECIFIC; >>>> >>>> if (*cptr == '.') { >>>> >>> >>> Doesn't this cause a dependency on the ordering of 'nfsvers'/'vers' >>> and 'minorversion' in your mount options string? >> >> Without this patch, there is a dependency on the ordering now. >> mount with "-o minorversion=1", nfs gets strings as "minorversion=1,vers=4.2" >> >> If nfs-utils doesn't parse minorversion, the order dependency also exist. >> >> I agree with parsing minorversion in nfs-utils. >> > > I was rather hoping we could get rid of 'minorversion' soon. It is a > wart, and we've already agreed to deprecate it. I agree with the deprecation, but I think that is a different issue... steved. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/06/2015 10:42 AM, Steve Dickson wrote: > When the mountversion option is used, there should > not be any mount negotiations with the server. > > Also, when the option is used, its know that the mount > is a v4 mount and a V_SPECFIC type. > > Signed-off-by: Steve Dickson <steved@redhat.com> > --- > utils/mount/network.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) Wow... this slide through the cracks... I still think its a good idea so with no objection I'm planning on committing this... So take solace in the fact it takes awhile for my own patches to get in! ;-) steved. > > diff --git a/utils/mount/network.c b/utils/mount/network.c > index b5ed850..ebc39d3 100644 > --- a/utils/mount/network.c > +++ b/utils/mount/network.c > @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { > "v4", > "vers", > "nfsvers", > + "minorversion", > NULL, > }; > > @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) > if (!(version->major = strtol(version_val, &cptr, 10))) > goto ret_error; > > - if (version->major < 4) > + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { > + version->v_mode = V_SPECIFIC; > + version->minor = version->major; > + version->major = 4; > + } else if (version->major < 4) > version->v_mode = V_SPECIFIC; > > if (*cptr == '.') { > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/06/2015 10:42 AM, Steve Dickson wrote: > When the mountversion option is used, there should > not be any mount negotiations with the server. > > Also, when the option is used, its know that the mount > is a v4 mount and a V_SPECFIC type. > > Signed-off-by: Steve Dickson <steved@redhat.com> Committed.. steved. > --- > utils/mount/network.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/utils/mount/network.c b/utils/mount/network.c > index b5ed850..ebc39d3 100644 > --- a/utils/mount/network.c > +++ b/utils/mount/network.c > @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { > "v4", > "vers", > "nfsvers", > + "minorversion", > NULL, > }; > > @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) > if (!(version->major = strtol(version_val, &cptr, 10))) > goto ret_error; > > - if (version->major < 4) > + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { > + version->v_mode = V_SPECIFIC; > + version->minor = version->major; > + version->major = 4; > + } else if (version->major < 4) > version->v_mode = V_SPECIFIC; > > if (*cptr == '.') { > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/utils/mount/network.c b/utils/mount/network.c index b5ed850..ebc39d3 100644 --- a/utils/mount/network.c +++ b/utils/mount/network.c @@ -92,6 +92,7 @@ static const char *nfs_version_opttbl[] = { "v4", "vers", "nfsvers", + "minorversion", NULL, }; @@ -1272,7 +1273,11 @@ nfs_nfs_version(struct mount_options *options, struct nfs_version *version) if (!(version->major = strtol(version_val, &cptr, 10))) goto ret_error; - if (version->major < 4) + if (strcmp(nfs_version_opttbl[i], "minorversion") == 0) { + version->v_mode = V_SPECIFIC; + version->minor = version->major; + version->major = 4; + } else if (version->major < 4) version->v_mode = V_SPECIFIC; if (*cptr == '.') {
When the mountversion option is used, there should not be any mount negotiations with the server. Also, when the option is used, its know that the mount is a v4 mount and a V_SPECFIC type. Signed-off-by: Steve Dickson <steved@redhat.com> --- utils/mount/network.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)