linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] nfs-utils: Fix version setting by config for vers4
@ 2018-09-20 20:44 Justin Mitchell
  2018-09-26 16:41 ` Steve Dickson
  0 siblings, 1 reply; 2+ messages in thread
From: Justin Mitchell @ 2018-09-20 20:44 UTC (permalink / raw)
  To: linux-nfs

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@redhat.com>
---
 utils/nfsd/nfsd.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

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.
 	 */
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] nfs-utils: Fix version setting by config for vers4
  2018-09-20 20:44 [PATCH] nfs-utils: Fix version setting by config for vers4 Justin Mitchell
@ 2018-09-26 16:41 ` Steve Dickson
  0 siblings, 0 replies; 2+ messages in thread
From: Steve Dickson @ 2018-09-26 16:41 UTC (permalink / raw)
  To: Justin Mitchell, linux-nfs



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@redhat.com>
> ---
>  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.
>  	 */
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-09-26 22:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-20 20:44 [PATCH] nfs-utils: Fix version setting by config for vers4 Justin Mitchell
2018-09-26 16:41 ` Steve Dickson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).