Re: [105/105] nfsd4: fix oops on lock failure

OGAWA Hirofumi
2011-04-18T21:12:36Z

OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:

> OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:
>
>>> commit 5152c8a947359758862d4631863e68e83ec01048
>>> Author: J. Bruce Fields <bfields@redhat.com>
>>> Date: Fri Apr 15 18:08:26 2011 -0400
>>>
>>> nfsd4: fix struct file leak on delegation
>>>
>>> Introduced by acfdf5c383b38f7f4dddae41b97c97f1ae058f49.
>>>
>>> Cc: stable@kernel.org
>>> Reported-by: Gerhard Heift <ml-nfs-linux-20110412-ef47@gheift.de>
>>> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
>>>
>>> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
>>> index aa309aa..c79a983 100644
>>> --- a/fs/nfsd/nfs4state.c
>>> +++ b/fs/nfsd/nfs4state.c
>>> @@ -258,6 +258,7 @@ static void nfs4_put_deleg_lease(struct nfs4_file *fp)
>>> if (atomic_dec_and_test(&fp->fi_delegees)) {
>>> vfs_setlease(fp->fi_deleg_file, F_UNLCK, &fp->fi_lease);
>>> fp->fi_lease = NULL;
>>> + fput(fp->fi_deleg_file);
>>> fp->fi_deleg_file = NULL;
>>> }
>>> }
>
> For now, I feel this explain filp leak on my system. the leak is
> increased slowly (filp, cred_jar, and no nfs* slabs), and leak is on
> nfs server side.
>
> I'll start test of this patch, and see what happens.

OK. Although filp slabs are still slightly increasing (I'm not sure yet
whether this is leak of filp on system). But watching before/after
patch, the graph of filp slabs is clearly different.

As far as I can say patches are fine.

Thanks.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>