Re: [PATCH] nfsd: don't free files unconditionally in __nfsd_file_cache_purge

From: Chuck Lever III
Date: Sun Jan 22 2023 - 18:40:41 EST




> On Jan 22, 2023, at 9:58 AM, Shachar Kagan <skagan@xxxxxxxxxx> wrote:
>
>
> On Sun, 2023-01-22 at 16:58 +0000, Shachar Kagan wrote:
>
>> On Sat, 2023-01-21 at 17:04 +0000, Chuck Lever III wrote:
>>>
>>>> On Jan 20, 2023, at 3:54 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
>>>>
>>>> On Fri, 2023-01-20 at 20:21 +0000, Chuck Lever III wrote:
>>>>>
>>>>>> On Jan 20, 2023, at 2:52 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
>>>>>>
>>>>>> nfsd_file_cache_purge is called when the server is shutting
>>>>>> down, in which case, tearing things down is generally fine, but
>>>>>> it also gets called when the exports cache is flushed.
>>>>>
>>>>> Yeah... cache flush is probably the case we've been missing.
>>>>>
>>>>>
>>>>>> Instead of walking the cache and freeing everything
>>>>>> unconditionally, handle it the same as when we have a notification of conflicting access.
>>>>>>
>>>>>> Fixes: ac3a2585f018 ("nfsd: rework refcounting in filecache")
>>>>>> Reported-by: Ruben Vestergaard <rubenv@xxxxxxxx>
>>>>>> Reported-by: Torkil Svensgaard <torkil@xxxxxxxx>
>>>>>> Reported-by: Shachar Kagan <skagan@xxxxxxxxxx>
>>>>>> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
>
> I ran our tests with the commit, the issue didn't occur.
> Thanks for the quick response.

May I add Tested-by: Shachar Kagan <skagan@xxxxxxxxxx> ?

--
Chuck Lever