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? > > 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.