Re: [RFC PATCH] NFS: Save 4 bytes when re-exporting

From: Richard Weinberger
Date: Sun Dec 12 2021 - 16:33:00 EST


----- Ursprüngliche Mail -----
> Von: "Trond Myklebust" <trondmy@xxxxxxxxxxxxxxx>
> On Sun, 2021-12-12 at 22:00 +0100, Richard Weinberger wrote:
>> When re-exporting, the whole struct nfs_fh is embedded in the new
>> fhandle.
>> But we need only nfs_fh->data[], nfs_fh->size is not needed.
>> So skip fs_fh->size and save a full word (4 bytes).
>> The downside is the extra memcpy() in nfs_fh_to_dentry().
>>
>> Signed-off-by: Richard Weinberger <richard@xxxxxx>
>> ---
>> While investigating into improving NFS re-export I noticed that
>> we can already save 4 bytes of overhead.
>> I don't think we need to embedd the full struct nfs_fh and
>> can skip ->size.
>>
>
> NACK. This will break existing running clients. Any code to change the
> filehandle format must be accompanied with code to detect and service
> filehandles that are presented in the old format.

One possible way to distinguish between old and new formats
is looking at the length of the data.
2 * XDR_UNIT = new format (without ->size).
3 * XDR_UNIT = old format.

What do you think?

Thanks,
//richard