]> git.baikalelectronics.ru Git - kernel.git/commit
nfsd4: remove lockowner when removing lock stateid
authorJ. Bruce Fields <bfields@redhat.com>
Tue, 20 May 2014 19:55:21 +0000 (15:55 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Wed, 21 May 2014 15:11:21 +0000 (11:11 -0400)
commita3c8b65761d673af4a75ea2f100cc2e119db7d65
tree55954eb0fab25dbbd5a1fcec4583993b63f365b0
parent3cab115d2050c74d8e32c49f9105b40efda17314
nfsd4: remove lockowner when removing lock stateid

The nfsv4 state code has always assumed a one-to-one correspondance
between lock stateid's and lockowners even if it appears not to in some
places.

We may actually change that, but for now when FREE_STATEID releases a
lock stateid it also needs to release the parent lockowner.

Symptoms were a subsequent LOCK crashing in find_lockowner_str when it
calls same_lockowner_ino on a lockowner that unexpectedly has an empty
so_stateids list.

Cc: stable@vger.kernel.org
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c