Linux/linux 6aaafc4fs/nfsd nfs4state.c

nfsd: wake waiters blocked on file_lock before deleting it

After a blocked nfsd file_lock request is deleted, knfsd will send a
callback to the client and then free the request. Commit 16306a61d3b7
("fs/locks: always delete_block after waiting.") changed it such that
locks_delete_block is always called on a request after it is awoken,
but that patch missed fixing up blocked nfsd request handling.

Call locks_delete_block on the block to wake up any locks still blocked
on the nfsd lock request before freeing it. Some of its callers already
do this however, so just remove those calls.

URL: https://bugzilla.kernel.org/show_bug.cgi?id=203363
Fixes: 16306a61d3b7 ("fs/locks: always delete_block after waiting.")
Reported-by: Slawomir Pryczek <slawek1211 at gmail.com>
Cc: Neil Brown <neilb at suse.com>
Cc: stable at vger.kernel.org
Signed-off-by: Jeff Layton <jlayton at kernel.org>
Signed-off-by: J. Bruce Fields <bfields at redhat.com>
DeltaFile
+1-2fs/nfsd/nfs4state.c
+1-21 files

UnifiedSplitRaw