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 | |
parent | b18825a7c8e37a7cf6abb97a12a6ad71af160de7 (diff) |
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')
-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. | |||
455 | vfs_follow_link has been removed. Filesystems must use nd_set_link | 455 | vfs_follow_link has been removed. Filesystems must use nd_set_link |
456 | from ->follow_link for normal symlinks, or nd_jump_link for magic | 456 | from ->follow_link for normal symlinks, or nd_jump_link for magic |
457 | /proc/<pid> style links. | 457 | /proc/<pid> style links. |
458 | -- | ||
459 | [mandatory] | ||
460 | iget5_locked()/ilookup5()/ilookup5_nowait() test() callback used to be | ||
461 | called with both ->i_lock and inode_hash_lock held; the former is *not* | ||
462 | taken anymore, so verify that your callbacks do not rely on it (none | ||
463 | of the in-tree instances did). inode_hash_lock is still held, | ||
464 | of course, so they are still serialized wrt removal from inode hash, | ||
465 | as well as wrt set() callback of iget5_locked(). | ||