locks: move freeing of leases outside of i_lock
authorJeff Layton <jlayton@primarydata.com>
Mon, 1 Sep 2014 11:12:07 +0000 (07:12 -0400)
committerJeff Layton <jlayton@primarydata.com>
Tue, 7 Oct 2014 18:06:13 +0000 (14:06 -0400)
commitc45198eda2794bb72601c9f96266d8b95db66dd5
tree59c973d0d5356e113efd22ece677267cbc07e0af
parentf82b4b6780afabce9d9a91c84fae17ec3d63b9d7
locks: move freeing of leases outside of i_lock

There was only one place where we still could free a file_lock while
holding the i_lock -- lease_modify. Add a new list_head argument to the
lm_change operation, pass in a private list when calling it, and fix
those callers to dispose of the list once the lock has been dropped.

Signed-off-by: Jeff Layton <jlayton@primarydata.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Documentation/filesystems/Locking
fs/locks.c
fs/nfsd/nfs4state.c
include/linux/fs.h