From: Jeff Layton <jlayton@kernel.org>
To: Chuck Lever III <chuck.lever@oracle.com>, Neil Brown <neilb@suse.de>
Cc: Dai Ngo <dai.ngo@oracle.com>,
Olga Kornievskaia <okorniev@redhat.com>,
Tom Talpey <tom@talpey.com>,
Trond Myklebust <trondmy@kernel.org>,
Anna Schumaker <anna@kernel.org>, Tom Haynes <loghyr@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH 1/3] nfsd: bring in support for delstid draft XDR encoding
Date: Mon, 19 Aug 2024 09:26:27 -0400 [thread overview]
Message-ID: <f0ac4b0489da5f6198cb7c70f312e2889e97ea4e.camel@kernel.org> (raw)
In-Reply-To: <E7E5447E-AD50-437D-8069-C77FFF516DCE@oracle.com>
On Mon, 2024-08-19 at 13:21 +0000, Chuck Lever III wrote:
>
> > On Aug 19, 2024, at 7:44 AM, Jeff Layton <jlayton@kernel.org> wrote:
> >
> > On Mon, 2024-08-19 at 10:04 +1000, NeilBrown wrote:
> > > On Fri, 16 Aug 2024, Jeff Layton wrote:
> > >
> > > > +// Generated by lkxdrgen, with hand-edits.
> > >
> > > I *really* don't like having code in the kernel that is partly
> > > tool-generated and partly human-generated, and where the boundary isn't
> > > obvious (like separate files).
> > >
> > > If we cannot use tool-generated code as-is, then let's fix the tool.
> > > If we cannot fix the tool, then include the raw output and a
> > > human-generated patch which the makefile combines.
> > >
> > > Ideally the tool should be in tools/, the .x file should be in fs/nfsd/
> > > and the makefile should apply the one to the other. We are going to
> > > want to do that eventually and I think it should be priority. The tool
> > > doesn't have to be bug-free before it lands (nothing is).
> > >
> > > A particular reason for this is that I cannot review tool-generated
> > > hand-editted code. It is too noisy and I don't know which parts are
> > > worth closer inspection etc.
> >
> > Fair point. Chuck made some similar comments to me privately, and it
> > looks like he has updated his xdrgen tool as well.
> >
> > I'll plan to just respin that part from scratch and regenerate from the
> > .x files. I'll also keep my hand-edits in a separate commit for the
> > next version.
> >
> > It'll probably take me a few days, but I'll try to have something to
> > resend within the next week or so.
>
> Meanwhile, I'll post the current xdrgen tool for review. It
> already lives under tools/ as Neil suggested above.
>
> I'm hoping that by providing the .x snippet used to generate the
> source, and by adding one or two "pragma" annotations to the tool
> to handle certain exceptions, no hand-edits or extra patching
> will be needed.
>
>
I'm playing with the new version now and it seems to be much improved.
Only two real bugs I've hit at this point:
1/ Some of the struct specifications need to be typedefs as well. For
instance, the delstid draft refers to "nfstime4", but the autogenerated
struct definition doesn't have the typedef for it. It may be best to
just add typedefs for all of these sorts of structs.
2/ xdrgen_encode_nfstime4 want a pointer to the nfstime4, but the
autogenerated code for xdrgen_encode_fattr4_time_deleg_access and
xdrgen_encode_fattr4_time_deleg_modify try to pass it by value instead.
These are minor and easily fixed, obviously, but it would be nice to
not need to do that.
Nice work!
--
Jeff Layton <jlayton@kernel.org>
next prev parent reply other threads:[~2024-08-19 13:26 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-16 12:42 [PATCH 0/3] nfsd: implement OPEN_XOR_DELEGATION part of delstid draft Jeff Layton
2024-08-16 12:42 ` [PATCH 1/3] nfsd: bring in support for delstid draft XDR encoding Jeff Layton
2024-08-16 15:17 ` Chuck Lever
2024-08-16 15:45 ` Jeff Layton
2024-08-16 16:16 ` Chuck Lever
2024-08-16 16:34 ` Jeff Layton
2024-08-19 0:04 ` NeilBrown
2024-08-19 11:44 ` Jeff Layton
2024-08-19 13:21 ` Chuck Lever III
2024-08-19 13:26 ` Jeff Layton [this message]
2024-08-19 13:28 ` Chuck Lever III
2024-08-19 19:50 ` Chuck Lever III
2024-08-19 20:04 ` Jeff Layton
2024-08-19 23:16 ` Chuck Lever III
2024-08-20 12:18 ` Jeff Layton
2024-08-16 12:42 ` [PATCH 2/3] nfsd: add support for FATTR4_OPEN_ARGUMENTS Jeff Layton
2024-08-16 12:42 ` [PATCH 3/3] nfsd: implement OPEN_ARGS_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f0ac4b0489da5f6198cb7c70f312e2889e97ea4e.camel@kernel.org \
--to=jlayton@kernel.org \
--cc=anna@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=dai.ngo@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=loghyr@gmail.com \
--cc=neilb@suse.de \
--cc=okorniev@redhat.com \
--cc=tom@talpey.com \
--cc=trondmy@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox