On 9/20/18 4:44 PM, Justin Mitchell wrote: > The code path for setting major versions via nfs.conf was not > the same as setting it by cli option, resulting in vers4=n not > working unless vers4.0=n was also set > > Signed-off-by: Justin Mitchell <jumitche@xxxxxxxxxx> > --- > utils/nfsd/nfsd.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) Committed.... steved. > > diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c > index 6b57e2b..b256bd9 100644 > --- a/utils/nfsd/nfsd.c > +++ b/utils/nfsd/nfsd.c > @@ -83,6 +83,9 @@ main(int argc, char **argv) > > conf_init_file(NFS_CONFFILE); > xlog_from_conffile("nfsd"); > + > + nfssvc_get_minormask(&minormask); > + > count = conf_get_num("nfsd", "threads", count); > grace = conf_get_num("nfsd", "grace-time", grace); > lease = conf_get_num("nfsd", "lease-time", lease); > @@ -101,13 +104,19 @@ main(int argc, char **argv) > for (i = 2; i <= 4; i++) { > char tag[20]; > sprintf(tag, "vers%d", i); > - if (conf_get_bool("nfsd", tag, NFSCTL_VERISSET(versbits, i))) > + if (conf_get_bool("nfsd", tag, NFSCTL_VERISSET(versbits, i))) { > NFSCTL_VERSET(versbits, i); > - else > + if (i == 4) > + minorvers = minorversset = minormask; > + } else { > NFSCTL_VERUNSET(versbits, i); > + if (i == 4) { > + minorvers = 0; > + minorversset = minormask; > + } > + } > } > > - nfssvc_get_minormask(&minormask); > /* We assume the kernel will default all minor versions to 'on', > * and allow the config file to disable some. > */ >