2022-10-04 17:52:04

by Frank Sorenson

[permalink] [raw]
Subject: [PATCH nfs-utils] Allow 'debug' configuration option to accept '0' and '1'

In the example /etc/nfs.conf file, most sections include
a commented-out 'debug = 0' line, suggesting that '0' is
the default. In addition, the manpages for some of the
utilities state that debugging can be enabled by setting
'debug = 1' in the nfs.conf file.

However, neither '0' nor '1' is accepted as a valid option
for 'debug' while parsing the nfs.conf file.

Add '0' and '1' to the valid strings when parsing 'debug',
with '0' not changing any debugging settings, and '1'
enabling all debugging.

Signed-off-by: Frank Sorenson <[email protected]>
---
support/nfs/xlog.c | 7 +++++--
systemd/nfs.conf.man | 6 ++++++
2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/support/nfs/xlog.c b/support/nfs/xlog.c
index e5861b9d..fa125cef 100644
--- a/support/nfs/xlog.c
+++ b/support/nfs/xlog.c
@@ -46,11 +46,13 @@ int export_errno = 0;

static void xlog_toggle(int sig);
static struct xlog_debugfac debugnames[] = {
+ { "0", 0, },
{ "general", D_GENERAL, },
{ "call", D_CALL, },
{ "auth", D_AUTH, },
{ "parse", D_PARSE, },
{ "all", D_ALL, },
+ { "1", D_ALL, },
{ NULL, 0, },
};

@@ -119,13 +121,14 @@ xlog_sconfig(char *kind, int on)
{
struct xlog_debugfac *tbl = debugnames;

- while (tbl->df_name != NULL && strcasecmp(tbl->df_name, kind))
+ while (tbl->df_name != NULL && strcasecmp(tbl->df_name, kind))
tbl++;
if (!tbl->df_name) {
xlog (L_WARNING, "Invalid debug facility: %s\n", kind);
return;
}
- xlog_config(tbl->df_fac, on);
+ if (tbl->df_fac)
+ xlog_config(tbl->df_fac, on);
}

void
diff --git a/systemd/nfs.conf.man b/systemd/nfs.conf.man
index e74083e9..b95c05a6 100644
--- a/systemd/nfs.conf.man
+++ b/systemd/nfs.conf.man
@@ -98,6 +98,12 @@ value, which can be one or more from the list
.BR parse ,
.BR all .
When a list is given, the members should be comma-separated.
+The values
+.BR 0
+and
+.BR 1
+are also accepted, with '0' making no changes to the debug level, and '1' equivalent to specifying 'all'.
+
.TP
.B general
Recognized values:
--
2.37.2


2022-10-17 19:17:22

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH nfs-utils] Allow 'debug' configuration option to accept '0' and '1'



On 10/4/22 1:40 PM, Frank Sorenson wrote:
> In the example /etc/nfs.conf file, most sections include
> a commented-out 'debug = 0' line, suggesting that '0' is
> the default. In addition, the manpages for some of the
> utilities state that debugging can be enabled by setting
> 'debug = 1' in the nfs.conf file.
>
> However, neither '0' nor '1' is accepted as a valid option
> for 'debug' while parsing the nfs.conf file.
>
> Add '0' and '1' to the valid strings when parsing 'debug',
> with '0' not changing any debugging settings, and '1'
> enabling all debugging.
>
> Signed-off-by: Frank Sorenson <[email protected]>
Committed!!

steved.

> ---
> support/nfs/xlog.c | 7 +++++--
> systemd/nfs.conf.man | 6 ++++++
> 2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/support/nfs/xlog.c b/support/nfs/xlog.c
> index e5861b9d..fa125cef 100644
> --- a/support/nfs/xlog.c
> +++ b/support/nfs/xlog.c
> @@ -46,11 +46,13 @@ int export_errno = 0;
>
> static void xlog_toggle(int sig);
> static struct xlog_debugfac debugnames[] = {
> + { "0", 0, },
> { "general", D_GENERAL, },
> { "call", D_CALL, },
> { "auth", D_AUTH, },
> { "parse", D_PARSE, },
> { "all", D_ALL, },
> + { "1", D_ALL, },
> { NULL, 0, },
> };
>
> @@ -119,13 +121,14 @@ xlog_sconfig(char *kind, int on)
> {
> struct xlog_debugfac *tbl = debugnames;
>
> - while (tbl->df_name != NULL && strcasecmp(tbl->df_name, kind))
> + while (tbl->df_name != NULL && strcasecmp(tbl->df_name, kind))
> tbl++;
> if (!tbl->df_name) {
> xlog (L_WARNING, "Invalid debug facility: %s\n", kind);
> return;
> }
> - xlog_config(tbl->df_fac, on);
> + if (tbl->df_fac)
> + xlog_config(tbl->df_fac, on);
> }
>
> void
> diff --git a/systemd/nfs.conf.man b/systemd/nfs.conf.man
> index e74083e9..b95c05a6 100644
> --- a/systemd/nfs.conf.man
> +++ b/systemd/nfs.conf.man
> @@ -98,6 +98,12 @@ value, which can be one or more from the list
> .BR parse ,
> .BR all .
> When a list is given, the members should be comma-separated.
> +The values
> +.BR 0
> +and
> +.BR 1
> +are also accepted, with '0' making no changes to the debug level, and '1' equivalent to specifying 'all'.
> +
> .TP
> .B general
> Recognized values: