diff options
-rw-r--r-- | utils/nfsd/nfsd.c | 16 | ||||
-rw-r--r-- | utils/nfsd/nfsd.man | 6 |
2 files changed, 17 insertions, 5 deletions
diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c index 3c451aa..eb346f6 100644 --- a/utils/nfsd/nfsd.c +++ b/utils/nfsd/nfsd.c @@ -107,12 +107,24 @@ main(int argc, char **argv) /* We assume the kernel will default all minor versions to 'on', * and allow the config file to disable some. */ - for (i = 0; i <= NFS4_MAXMINOR; i++) { + for (i = NFS4_MINMINOR; i <= NFS4_MAXMINOR; i++) { char tag[20]; sprintf(tag, "vers4.%d", i); + /* The default for minor version support is to let the + * kernel decide. We could ask the kernel what that choice + * will be, but that is needlessly complex. + * Instead, perform a config-file lookup using each of the + * two possible default. If the result is different from the + * default, then impose that value, else don't make a change + * (i.e. don't set the bit in minorversset). + */ if (!conf_get_bool("nfsd", tag, 1)) { NFSCTL_VERSET(minorversset, i); - NFSCTL_VERUNSET(minorversset, i); + NFSCTL_VERUNSET(minorvers, i); + } + if (conf_get_bool("nfsd", tag, 0)) { + NFSCTL_VERSET(minorversset, i); + NFSCTL_VERSET(minorvers, i); } } diff --git a/utils/nfsd/nfsd.man b/utils/nfsd/nfsd.man index 9381cf9..8d198e2 100644 --- a/utils/nfsd/nfsd.man +++ b/utils/nfsd/nfsd.man @@ -161,10 +161,10 @@ by default. .B vers4.1 .TP .B vers4.2 -.TP -.B vers4.3 Setting these to "off" or similar will disable the selected minor -versions. All are enabled by default. +versions. Setting to "on" will enable them. The default values +are determined by the kernel, and usually minor versions default to +being enabled once the implementation is sufficiently complete. .SH NOTES If the program is built with TI-RPC support, it will enable any protocol and |