summaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems
diff options
context:
space:
mode:
authorJeff Layton <jlayton@primarydata.com>2014-09-01 13:12:07 +0200
committerJeff Layton <jlayton@primarydata.com>2014-10-07 20:06:13 +0200
commitc45198eda2794bb72601c9f96266d8b95db66dd5 (patch)
tree59c973d0d5356e113efd22ece677267cbc07e0af /Documentation/filesystems
parentlocks: move i_lock acquisition into generic_*_lease handlers (diff)
downloadlinux-c45198eda2794bb72601c9f96266d8b95db66dd5.tar.xz
linux-c45198eda2794bb72601c9f96266d8b95db66dd5.zip
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>
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r--Documentation/filesystems/Locking3
1 files changed, 1 insertions, 2 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index 4af288e38f13..94d93b1f8b53 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -469,8 +469,7 @@ prototypes:
};
locking rules:
- All may block except for ->setlease.
- No VFS locks held on entry except for ->setlease.
+ All may block.
->llseek() locking has moved from llseek to the individual llseek
implementations. If your fs is not using generic_file_llseek, you