Re: [PATCH v2] nfs: add dummy definition for nfsd_file

Chuck Lever
2025-04-19T17:52:55Z

On 4/18/25 5:34 PM, Mike Snitzer wrote:
> On Wed, Apr 16, 2025 at 09:31:55AM -0400, Chuck Lever wrote:
>> On 4/15/25 10:41 PM, Vincent Mailhol wrote:
>>> +CC: Neil Brown
>>> +CC: Olga Kornievskaia
>>> +CC: Dai Ngo
>>> +CC: Tom Talpey
>>> +CC: Trond Myklebust
>>> +CC: Anna Schumaker
>>>
>>> (just to make sure that anyone listed in
>>>
>>> ./scripts/get_maintainer.pl fs/nfs_common/nfslocalio.c
>>>
>>> get copied).
>>>
>>> Here is the link to the full thread:
>>>
>>> https://lore.kernel.org/all/Z_coQbSdvMWD92IA@kernel.org/
>>>
>>>
>>> On 10/04/2025 at 11:09, Mike Snitzer:
>>>> Add dummy definition for nfsd_file in both nfslocalio.c and localio.c
>>>> so various compilers (e.g. gcc 8.5.0 and 9.5.0) can be used. Otherwise
>>>> RCU code (rcu_dereference and rcu_access_pointer) will dereference
>>>> what should just be an opaque pointer (by using typeof(*ptr)).
>>>>
>>>> Fixes: 86e00412254a ("nfs: cache all open LOCALIO nfsd_file(s) in client")
>>>> Cc: stable@vger.kernel.org
>>>> Tested-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
>>>> Tested-by: Pali Rohár <pali@kernel.org>
>>>> Tested-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
>>>> Signed-off-by: Mike Snitzer <snitzer@kernel.org>
>>>
>>> Hi everyone,
>>>
>>> The build has been broken for several weeks already. Does anyone have
>>> intention to pick-up this patch?
>>>
>>> (please ignore if someone already picked it up and if it is already on
>>> its way to Linus's tree).
>>
>> I assumed that, like all LOCALIO-related changes, this fix would go
>> in through the NFS client tree. Let me know if it needs to go via NFSD.
>
> Since we haven't heard from Trond or Anna about it, I think you'd be
> perfectly fine to pick it up. It is a compiler fixup associated with
> nfd_file being kept opaque to the client -- but given it is "struct
> nfsd_file" that gives you full license to grab it (IMO).
>
> I'm also unaware of any conflicting changes in the NFS client tree.

Hi Mike -

I just looked at this one again. The patch's diffstat is:

fs/nfs/localio.c | 8 ++++++++
fs/nfs_common/nfslocalio.c | 8 ++++++++

Although fs/nfs_common/ is part of both trees, fs/nfs/localio.c is
definitely a client file. I'm still happy to pick it up, but technically
I would need an Acked-by: from one of the NFS client maintainers.

My impression is that Trond is managing the NFS client pulls for v6.15.

--
Chuck Lever