Allow d_manage() to be used in RCU-walk mode
authorDavid Howells <dhowells@redhat.com>
Fri, 14 Jan 2011 18:46:51 +0000 (18:46 +0000)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 16 Jan 2011 01:07:47 +0000 (20:07 -0500)
commitab90911ff90cdab59b31c045c3f0ae480d14f29d
tree683450a66eb9dc6bf053e38d63f4740bb53a7b6e
parent87556ef19926e97464e0163a7840140527ae6615
Allow d_manage() to be used in RCU-walk mode

Allow d_manage() to be called from pathwalk when it is in RCU-walk mode as well
as when it is in Ref-walk mode.  This permits __follow_mount_rcu() to call
d_manage() directly.  d_manage() needs a parameter to indicate that it is in
RCU-walk mode as it isn't allowed to sleep if in that mode (but should return
-ECHILD instead).

autofs4_d_manage() can then be set to retain RCU-walk mode if the daemon
accesses it and otherwise request dropping back to ref-walk mode.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Documentation/filesystems/Locking
Documentation/filesystems/vfs.txt
fs/autofs4/root.c
fs/namei.c
include/linux/dcache.h