diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-11-06 09:54:52 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-11-09 00:16:31 -0500 |
commit | 5a3cd99285dc793a4022fa75ceeb323eb6d29ac9 (patch) | |
tree | 84d6be981f67655016a62febd87f89bec53c89b3 /Documentation/filesystems/porting | |
parent | b18825a7c8e37a7cf6abb97a12a6ad71af160de7 (diff) | |
download | lwn-5a3cd99285dc793a4022fa75ceeb323eb6d29ac9.tar.gz lwn-5a3cd99285dc793a4022fa75ceeb323eb6d29ac9.zip |
iget/iget5: don't bother with ->i_lock until we find a match
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'Documentation/filesystems/porting')
-rw-r--r-- | Documentation/filesystems/porting | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting index f0890581f7f6..fe2b7ae6f962 100644 --- a/Documentation/filesystems/porting +++ b/Documentation/filesystems/porting @@ -455,3 +455,11 @@ in your dentry operations instead. vfs_follow_link has been removed. Filesystems must use nd_set_link from ->follow_link for normal symlinks, or nd_jump_link for magic /proc/<pid> style links. +-- +[mandatory] + iget5_locked()/ilookup5()/ilookup5_nowait() test() callback used to be + called with both ->i_lock and inode_hash_lock held; the former is *not* + taken anymore, so verify that your callbacks do not rely on it (none + of the in-tree instances did). inode_hash_lock is still held, + of course, so they are still serialized wrt removal from inode hash, + as well as wrt set() callback of iget5_locked(). |