Re: [PATCH v3 08/13] nfs_common: make nfs4.h include generated nfs4_1.h

From: Jeff Layton
Date: Fri Aug 30 2024 - 13:48:51 EST


On Fri, 2024-08-30 at 11:44 -0400, Jeff Layton wrote:
> On Fri, 2024-08-30 at 14:48 +0000, Chuck Lever III wrote:
> >
> > > On Aug 29, 2024, at 2:26 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> > >
> > > On Thu, 2024-08-29 at 11:13 -0400, Chuck Lever wrote:
> > > > On Thu, Aug 29, 2024 at 09:26:46AM -0400, Jeff Layton wrote:
> > > > >
> > > > > index 6833d0ad35a8..00e803781c87 100644
> > > > > --- a/fs/nfsd/nfs4xdr_gen.c
> > > > > +++ b/fs/nfsd/nfs4xdr_gen.c
> > > > > @@ -2,7 +2,7 @@
> > > > > // Generated by xdrgen. Manual edits will be lost.
> > > > > // XDR specification modification time: Wed Aug 28 09:57:28 2024
> > > > >
> > > > > -#include "nfs4xdr_gen.h"
> > > > > +#include <linux/sunrpc/xdrgen/nfs4_1.h>
> > > >
> > > > Please don't hand-edit these files. That makes it impossible to just
> > > > run the xdrgen tool and get a new version, which is the real goal.
> > > >
> > > > If you need different generated content, change the tool to generate
> > > > what you need (or feel free to ask me to get out my whittling
> > > > knife).
> > >
> > > No problem. This part is a Q&D hack job to get everything working with
> > > minimal changes. Changing the tool to generate the right thing would be
> > > a better long-term solution (once we settle on where these files will
> > > go, etc.)
> >
> > OK, that makes sense.
> >
> > Going forward I will watch for such Q&D edits in the generated
> > files and try to address those in xdrgen. I would like to avoid
> > actually /committing/ such edits, though, because IMO we are
> > pretty active here right now and can get the "long term" fix
> > done quickly.
> >
>
> Sorry I wasn't clear about that. That part is really just a PoC. The
> goal would be to autogenerate those files.
>
> Once we settle on locations, we can add a "make xdrgen" target that
> runs xdrgen over all of the files in Documentation/sunrpc/xdr and
> regenerates all of the headers and source files.
>
> Then we can edit the .x files, do a "make xdrgen" and then commit the
> resulting updates.
>
> > Meanwhile, I've updated the xdrgen patches in nfsd-next to
> > address many (or maybe all) of your requests from yesterday.
> >
> > The header file is now split between
> >
> > include/linux/sunrpc/xdrgen/nfs4.h (protocol definitions)
> >
> > and
> >
> > fs/nfsd/nfs4xdr_gen.h (function declarations)
> >
>
> Excellent. I'll rebase onto that later today.

...and on that note, I pushed a rebased version of this into my
"delstid" branch.

I won't bother reposting it just yet, since it's fundamentally the same
code. The only real difference is in the patch that adapts nfs4.h to
include the autogenerated header.
--
Jeff Layton <jlayton@xxxxxxxxxx>