From: NeilBrown Date: Mon, 4 Aug 2014 07:06:29 +0000 (+1000) Subject: VFS: allow ->d_manage() to declare -EISDIR in rcu_walk mode. X-Git-Tag: omap-for-v3.17/fixes-against-rc2~87^2~14 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8faf035ea9d0011b04856a8198e2e212d93346a;p=pandora-kernel.git VFS: allow ->d_manage() to declare -EISDIR in rcu_walk mode. In REF-walk mode, ->d_manage can return -EISDIR to indicate that the dentry is not really a mount trap (or even a mount point) and that any mounts or any DCACHE_NEED_AUTOMOUNT flag should be ignored. RCU-walk mode doesn't currently support this, so if there is a dentry with DCACHE_NEED_AUTOMOUNT set but which shouldn't be a mount-trap, lookup_fast() will always drop in REF-walk mode. With this patch, an -EISDIR from ->d_manage will always cause mounts and automounts to be ignored, both in REF-walk and RCU-walk. Bug-fixed-by: Dan Carpenter Cc: Ian Kent Signed-off-by: NeilBrown Signed-off-by: Al Viro --- Reading git-diff-tree failed