2014-10-11 13:32:33

by Weston Andros Adamson

[permalink] [raw]
Subject: Re: WARNING at fs/nfs/write.c:743 nfs_inode_remove_request with -rc6

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 <[email protected]> wrote:

> On Sep 25, 2014, at 1:15 PM, Will Deacon <[email protected]> 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 <[email protected]> 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


2014-10-20 13:57:34

by Will Deacon

[permalink] [raw]
Subject: Re: WARNING at fs/nfs/write.c:743 nfs_inode_remove_request with -rc6

On Sat, Oct 11, 2014 at 02:32:29PM +0100, Weston Andros Adamson wrote:
> Hey Will,

Hi again, Andros,

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

No problem, I've been busy too. I just checked with -rc1 and I can reproduce
the issue there too.

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

Sure. I just tried this and that file is empty after unmounting.

Will

2014-10-31 14:49:19

by Weston Andros Adamson

[permalink] [raw]
Subject: Re: WARNING at fs/nfs/write.c:743 nfs_inode_remove_request with -rc6

On Oct 20, 2014, at 9:57 AM, Will Deacon <[email protected]> wrote:

> On Sat, Oct 11, 2014 at 02:32:29PM +0100, Weston Andros Adamson wrote:
>> Hey Will,
>
> Hi again, Andros,
>
>> I?ve been very busy, but I haven?t forgotten about your bug report!
>
> No problem, I've been busy too. I just checked with -rc1 and I can reproduce
> the issue there too.
>
>> 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?
>
> Sure. I just tried this and that file is empty after unmounting.

Sorry for the delay (again) - I just got back from a two week holiday.

This is good news! I think we can safely remove this WARN_ON_ONCE and call it a
day? or maybe calling it a month is more accurate ;)

-dros

2014-10-31 14:55:40

by Will Deacon

[permalink] [raw]
Subject: Re: WARNING at fs/nfs/write.c:743 nfs_inode_remove_request with -rc6

On Fri, Oct 31, 2014 at 02:49:13PM +0000, Weston Andros Adamson wrote:
> On Oct 20, 2014, at 9:57 AM, Will Deacon <[email protected]> wrote:
> > On Sat, Oct 11, 2014 at 02:32:29PM +0100, Weston Andros Adamson wrote:
> >> I’ve been very busy, but I haven’t forgotten about your bug report!
> >
> > No problem, I've been busy too. I just checked with -rc1 and I can reproduce
> > the issue there too.
> >
> >> 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?
> >
> > Sure. I just tried this and that file is empty after unmounting.
>
> Sorry for the delay (again) - I just got back from a two week holiday.
>
> This is good news! I think we can safely remove this WARN_ON_ONCE and call it a
> day… or maybe calling it a month is more accurate ;)

Great! Feel free to add my reported-by/tested-by on that patch.

Will