2015-04-02 14:42:51

by Mark Salter

[permalink] [raw]
Subject: userspace breakage in linux/nfsd/debug.h

This patch:

commit f895b252d4edf66b2895fb5a7b17a638665f3e1f
Author: Jeff Layton <[email protected]>
Date: Mon Nov 17 16:58:04 2014 -0500

sunrpc: eliminate RPC_DEBUG

It's always set to whatever CONFIG_SUNRPC_DEBUG is, so just use that.

Signed-off-by: Jeff Layton <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>

breaks userspace use of linux/nfsd/debug.h because of:

diff --git a/include/uapi/linux/nfsd/debug.h b/include/uapi/linux/nfsd/debug.h
index a6f453c..1fdc95b 100644
--- a/include/uapi/linux/nfsd/debug.h
+++ b/include/uapi/linux/nfsd/debug.h
@@ -15,7 +15,7 @@
* Enable debugging for nfsd.
* Requires RPC_DEBUG.
*/
-#ifdef RPC_DEBUG
+#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
# define NFSD_DEBUG 1
#endif

IS_ENABLED() is not available outside the kernel and causes a compile
time failure:

/usr/include/linux/nfsd/debug.h:18:15: error: missing binary operator before token "("
#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)



2015-04-02 15:58:20

by Jeff Layton

[permalink] [raw]
Subject: Re: userspace breakage in linux/nfsd/debug.h

On Thu, 02 Apr 2015 10:42:46 -0400
Mark Salter <[email protected]> wrote:

> This patch:
>
> commit f895b252d4edf66b2895fb5a7b17a638665f3e1f
> Author: Jeff Layton <[email protected]>
> Date: Mon Nov 17 16:58:04 2014 -0500
>
> sunrpc: eliminate RPC_DEBUG
>
> It's always set to whatever CONFIG_SUNRPC_DEBUG is, so just use that.
>
> Signed-off-by: Jeff Layton <[email protected]>
> Signed-off-by: Trond Myklebust <[email protected]>
>
> breaks userspace use of linux/nfsd/debug.h because of:
>
> diff --git a/include/uapi/linux/nfsd/debug.h b/include/uapi/linux/nfsd/debug.h
> index a6f453c..1fdc95b 100644
> --- a/include/uapi/linux/nfsd/debug.h
> +++ b/include/uapi/linux/nfsd/debug.h
> @@ -15,7 +15,7 @@
> * Enable debugging for nfsd.
> * Requires RPC_DEBUG.
> */
> -#ifdef RPC_DEBUG
> +#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
> # define NFSD_DEBUG 1
> #endif
>
> IS_ENABLED() is not available outside the kernel and causes a compile
> time failure:
>
> /usr/include/linux/nfsd/debug.h:18:15: error: missing binary operator before token "("
> #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
>
>
>

Huh, ok. Probably the right solution is to just get rid of NFSD_DEBUG
and convert all of the "#ifdef NFSD_DEBUG" statements into
"#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)".

Then we can just remove that whole block from nfsd/debug.h altogether. Mike,
care to spin up a patch for that or shall I?

--
Jeff Layton <[email protected]>

2015-04-02 17:53:30

by Jeff Layton

[permalink] [raw]
Subject: Re: userspace breakage in linux/nfsd/debug.h

On Thu, 2 Apr 2015 11:58:13 -0400
Jeff Layton <[email protected]> wrote:

> On Thu, 02 Apr 2015 10:42:46 -0400
> Mark Salter <[email protected]> wrote:
>
> > This patch:
> >
> > commit f895b252d4edf66b2895fb5a7b17a638665f3e1f
> > Author: Jeff Layton <[email protected]>
> > Date: Mon Nov 17 16:58:04 2014 -0500
> >
> > sunrpc: eliminate RPC_DEBUG
> >
> > It's always set to whatever CONFIG_SUNRPC_DEBUG is, so just use that.
> >
> > Signed-off-by: Jeff Layton <[email protected]>
> > Signed-off-by: Trond Myklebust <[email protected]>
> >
> > breaks userspace use of linux/nfsd/debug.h because of:
> >
> > diff --git a/include/uapi/linux/nfsd/debug.h b/include/uapi/linux/nfsd/debug.h
> > index a6f453c..1fdc95b 100644
> > --- a/include/uapi/linux/nfsd/debug.h
> > +++ b/include/uapi/linux/nfsd/debug.h
> > @@ -15,7 +15,7 @@
> > * Enable debugging for nfsd.
> > * Requires RPC_DEBUG.
> > */
> > -#ifdef RPC_DEBUG
> > +#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
> > # define NFSD_DEBUG 1
> > #endif
> >
> > IS_ENABLED() is not available outside the kernel and causes a compile
> > time failure:
> >
> > /usr/include/linux/nfsd/debug.h:18:15: error: missing binary operator before token "("
> > #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
> >
> >
> >
>
> Huh, ok. Probably the right solution is to just get rid of NFSD_DEBUG
> and convert all of the "#ifdef NFSD_DEBUG" statements into
> "#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)".
>
> Then we can just remove that whole block from nfsd/debug.h altogether. Mike,
> care to spin up a patch for that or shall I?
>

Uhh, sorry...I meant to say "Mark" there.

Mark, would you mind spinning up a patch for this or would you rather I
do it?

Thanks,
--
Jeff Layton <[email protected]>

2015-04-02 18:54:38

by Mark Salter

[permalink] [raw]
Subject: Re: userspace breakage in linux/nfsd/debug.h

On Thu, 2015-04-02 at 13:53 -0400, Jeff Layton wrote:
> On Thu, 2 Apr 2015 11:58:13 -0400
> Jeff Layton <[email protected]> wrote:
>
> > On Thu, 02 Apr 2015 10:42:46 -0400
> > Mark Salter <[email protected]> wrote:
> >
> > > This patch:
> > >
> > > commit f895b252d4edf66b2895fb5a7b17a638665f3e1f
> > > Author: Jeff Layton <[email protected]>
> > > Date: Mon Nov 17 16:58:04 2014 -0500
> > >
> > > sunrpc: eliminate RPC_DEBUG
> > >
> > > It's always set to whatever CONFIG_SUNRPC_DEBUG is, so just use that.
> > >
> > > Signed-off-by: Jeff Layton <[email protected]>
> > > Signed-off-by: Trond Myklebust <[email protected]>
> > >
> > > breaks userspace use of linux/nfsd/debug.h because of:
> > >
> > > diff --git a/include/uapi/linux/nfsd/debug.h b/include/uapi/linux/nfsd/debug.h
> > > index a6f453c..1fdc95b 100644
> > > --- a/include/uapi/linux/nfsd/debug.h
> > > +++ b/include/uapi/linux/nfsd/debug.h
> > > @@ -15,7 +15,7 @@
> > > * Enable debugging for nfsd.
> > > * Requires RPC_DEBUG.
> > > */
> > > -#ifdef RPC_DEBUG
> > > +#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
> > > # define NFSD_DEBUG 1
> > > #endif
> > >
> > > IS_ENABLED() is not available outside the kernel and causes a compile
> > > time failure:
> > >
> > > /usr/include/linux/nfsd/debug.h:18:15: error: missing binary operator before token "("
> > > #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
> > >
> > >
> > >
> >
> > Huh, ok. Probably the right solution is to just get rid of NFSD_DEBUG
> > and convert all of the "#ifdef NFSD_DEBUG" statements into
> > "#if IS_ENABLED(CONFIG_SUNRPC_DEBUG)".
> >
> > Then we can just remove that whole block from nfsd/debug.h altogether. Mike,
> > care to spin up a patch for that or shall I?
> >
>
> Uhh, sorry...I meant to say "Mark" there.
>
> Mark, would you mind spinning up a patch for this or would you rather I
> do it?
>
> Thanks,

I was wondering who Mike was. :)
Yeah, I can put a patch together.