Re: WARNING at fs/nfs/write.c:743 nfs_inode_remove_request with -rc6

Weston Andros Adamson
2014-10-11T13:32:31Z

Hey Will,

I’ve been very busy, but I haven’t forgotten about your bug report!

I think the WARN_ON_ONCE is just wrong, there are cases where the PG_INODE_REF
flag is legitimately not set. The flag is set so that sub requests can mimmic the parent
request’s reference count.

Could you please run the reproducer again, unmount, then check the contents of
/proc/fs/nfsfs/servers?

If it’s empty like example output below, then we know that requests are being properly
dereferenced.

# cat /proc/fs/nfsfs/servers
NV SERVER PORT USE HOSTNAME
#

If there are any servers still listed (I’m assuming this is the only mount on your client for
the test), then we have a problem.

-dros

On Sep 25, 2014, at 1:27 PM, Weston Andros Adamson <dros@primarydata.com> wrote:

> On Sep 25, 2014, at 1:15 PM, Will Deacon <will.deacon@arm.com> wrote:
>
>> Hi Andros,
>>
>> On Tue, Sep 23, 2014 at 04:25:58PM +0100, Will Deacon wrote:
>>> On Tue, Sep 23, 2014 at 04:08:36PM +0100, Weston Andros Adamson wrote:
>>>> On Sep 23, 2014, at 11:02 AM, Weston Andros Adamson <dros@primarydata.com> wrote:
>>>>> Wait a second - the whole point of this extra reference (that the
>>>>> WARN_ON_ONCE is related to) is to handle the pass off to commit lists.
>>>>>
>>>>> Maybe I’m just doing the wrong thing here with NFSv2!
>>>>>
>>>>> More soon.
>>>>
>>>> Actually, can you see if this is reproducible with NFSv3?
>>>
>>> Just tried that, and I'm unable to trigger the problem with NFSv3.
>>
>> Any more ideas? I can run with NFSv3 instead, but it's a shame to leave
>> v2 broken.
>
> Hi Will,
>
> I do plan on looking at this more very soon, but since it’s v2 only and just warning
> (and not crashing anything) it didn’t jump to the top of my list. It is only printing the
> warnings, right? That’s no reason to switch things up ;)
>
> It might be interesting to get some rpcdebug output around the time of the warning,
> but I’m not sure it will be useful.
>
> Since I cannot reproduce this, my next step is to inspect the code with an NFSv2
> with 64k pages setup in mind.
>
> -dros