On Wed, 2024-08-21 at 08:00 -0700, Christoph Hellwig wrote: > On Wed, Aug 21, 2024 at 10:22:15AM -0400, Jeff Layton wrote: > > I'm not sure of the best way to work around this, unless we want to > > try > > to split up nfs4.h. > > Can we just replace the structure definitions with the generated ones > ASAP in one big patch? And then only do the marshalling code piece > by > piece as needed/wanted? > I'll have a look. That probably means that we'll need to split nfs4.h, as not everything in there is defined by the protocol headers. > > > > Also, as a side note: > > > > fs/nfsd/nfs4xdr.c: In function > > ‘nfsd4_encode_fattr4_open_arguments’: > > fs/nfsd/nfs4xdr.c:3446:55: error: incompatible type for argument 2 > > of ‘xdrgen_encode_fattr4_open_arguments’ > > 3446 | if (!xdrgen_encode_fattr4_open_arguments(xdr, > > &nfsd_open_arguments)) > > > > > > OPEN_ARGUMENTS4 is a large structure with 5 different bitmaps in > > it. We > > probably don't want to pass that by value. When the tool is dealing > > with a struct, we should have it generate functions that take a > > pointer > > instead (IMO). > > Yes. Probably marked const to clarify that it isn't supposed to be > modified. > > Definitely, on the encoding side. Obviously, we can't on the decoding side. -- Jeff Layton <jlayton@xxxxxxxxxx>