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

OGAWA Hirofumi
2011-04-18T16:39:32Z

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.

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