diff mbox series

[nfs-utils] nfsdctl: ensure autostart honors the default nfs.conf versX.Y settings

Message ID 20250318201714.1164817-1-smayhew@redhat.com (mailing list archive)
State Handled Elsewhere
Headers show
Series [nfs-utils] nfsdctl: ensure autostart honors the default nfs.conf versX.Y settings | expand

Commit Message

Scott Mayhew March 18, 2025, 8:17 p.m. UTC
Yongcheng noted that after disabling a versX.Y option in /etc/nfs.conf,
and starting nfsd, subsequently commenting out that option and
restarting nfsd would not result in it being re-enabled.

Reported-by: Yongcheng Yang <yoyang@redhat.com>
Fixes: 03b2e2a1 ("nfsdctl: tweak the nfs.conf version handling")
Signed-off-by: Scott Mayhew <smayhew@redhat.com>
---
 utils/nfsdctl/nfsdctl.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Steve Dickson March 19, 2025, 7:49 p.m. UTC | #1
On 3/18/25 4:17 PM, Scott Mayhew wrote:
> Yongcheng noted that after disabling a versX.Y option in /etc/nfs.conf,
> and starting nfsd, subsequently commenting out that option and
> restarting nfsd would not result in it being re-enabled.
> 
> Reported-by: Yongcheng Yang <yoyang@redhat.com>
> Fixes: 03b2e2a1 ("nfsdctl: tweak the nfs.conf version handling")
> Signed-off-by: Scott Mayhew <smayhew@redhat.com>
Committed... (tag: nfs-utils-2-8-3-rc7)

steved.
> ---
>   utils/nfsdctl/nfsdctl.c | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/utils/nfsdctl/nfsdctl.c b/utils/nfsdctl/nfsdctl.c
> index 05fecc71..5ea848c9 100644
> --- a/utils/nfsdctl/nfsdctl.c
> +++ b/utils/nfsdctl/nfsdctl.c
> @@ -1318,6 +1318,18 @@ static int configure_versions(void)
>   	bool found_one = false;
>   	char tag[20];
>   
> +	/*
> +	 * First apply the default versX.Y settings from nfs.conf.
> +	 */
> +	update_nfsd_version(3, 0, true);
> +	update_nfsd_version(4, 0, true);
> +	update_nfsd_version(4, 1, true);
> +	update_nfsd_version(4, 2, true);
> +
> +	/*
> +	 * Then apply any versX.Y settings that are explicitly set in
> +	 * nfs.conf.
> +	 */
>   	for (i = 2; i <= 4; ++i) {
>   		sprintf(tag, "vers%d", i);
>   		if (!conf_get_bool("nfsd", tag, true)) {
diff mbox series

Patch

diff --git a/utils/nfsdctl/nfsdctl.c b/utils/nfsdctl/nfsdctl.c
index 05fecc71..5ea848c9 100644
--- a/utils/nfsdctl/nfsdctl.c
+++ b/utils/nfsdctl/nfsdctl.c
@@ -1318,6 +1318,18 @@  static int configure_versions(void)
 	bool found_one = false;
 	char tag[20];
 
+	/*
+	 * First apply the default versX.Y settings from nfs.conf.
+	 */
+	update_nfsd_version(3, 0, true);
+	update_nfsd_version(4, 0, true);
+	update_nfsd_version(4, 1, true);
+	update_nfsd_version(4, 2, true);
+
+	/*
+	 * Then apply any versX.Y settings that are explicitly set in
+	 * nfs.conf.
+	 */
 	for (i = 2; i <= 4; ++i) {
 		sprintf(tag, "vers%d", i);
 		if (!conf_get_bool("nfsd", tag, true)) {