aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2011-03-18 09:09:02 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2011-03-18 10:01:59 -0400
commit1aed3e4204dd787d53b3cd6363eb63bb4900c38e (patch)
tree503582fa9f7fa68a1da7af3770d3a627d041fb52 /fs
parent7cc90cc3ffe22a0d81b8d605b20a82ec7911012d (diff)
lose 'mounting_here' argument in ->d_manage()
it's always false... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r--fs/autofs4/root.c6
-rw-r--r--fs/namei.c7
2 files changed, 6 insertions, 7 deletions
diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c
index 014e7aba3b0..e6f84d26f4c 100644
--- a/fs/autofs4/root.c
+++ b/fs/autofs4/root.c
@@ -36,7 +36,7 @@ static long autofs4_root_compat_ioctl(struct file *,unsigned int,unsigned long);
36static int autofs4_dir_open(struct inode *inode, struct file *file); 36static int autofs4_dir_open(struct inode *inode, struct file *file);
37static struct dentry *autofs4_lookup(struct inode *,struct dentry *, struct nameidata *); 37static struct dentry *autofs4_lookup(struct inode *,struct dentry *, struct nameidata *);
38static struct vfsmount *autofs4_d_automount(struct path *); 38static struct vfsmount *autofs4_d_automount(struct path *);
39static int autofs4_d_manage(struct dentry *, bool, bool); 39static int autofs4_d_manage(struct dentry *, bool);
40static void autofs4_dentry_release(struct dentry *); 40static void autofs4_dentry_release(struct dentry *);
41 41
42const struct file_operations autofs4_root_operations = { 42const struct file_operations autofs4_root_operations = {
@@ -446,7 +446,7 @@ done:
446 return NULL; 446 return NULL;
447} 447}
448 448
449int autofs4_d_manage(struct dentry *dentry, bool mounting_here, bool rcu_walk) 449int autofs4_d_manage(struct dentry *dentry, bool rcu_walk)
450{ 450{
451 struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb); 451 struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb);
452 452
@@ -454,7 +454,7 @@ int autofs4_d_manage(struct dentry *dentry, bool mounting_here, bool rcu_walk)
454 dentry, dentry->d_name.len, dentry->d_name.name); 454 dentry, dentry->d_name.len, dentry->d_name.name);
455 455
456 /* The daemon never waits. */ 456 /* The daemon never waits. */
457 if (autofs4_oz_mode(sbi) || mounting_here) { 457 if (autofs4_oz_mode(sbi)) {
458 if (!d_mountpoint(dentry)) 458 if (!d_mountpoint(dentry))
459 return -EISDIR; 459 return -EISDIR;
460 return 0; 460 return 0;
diff --git a/fs/namei.c b/fs/namei.c
index e092648a068..5a9a6c3094d 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -933,8 +933,7 @@ static int follow_managed(struct path *path, unsigned flags)
933 if (managed & DCACHE_MANAGE_TRANSIT) { 933 if (managed & DCACHE_MANAGE_TRANSIT) {
934 BUG_ON(!path->dentry->d_op); 934 BUG_ON(!path->dentry->d_op);
935 BUG_ON(!path->dentry->d_op->d_manage); 935 BUG_ON(!path->dentry->d_op->d_manage);
936 ret = path->dentry->d_op->d_manage(path->dentry, 936 ret = path->dentry->d_op->d_manage(path->dentry, false);
937 false, false);
938 if (ret < 0) 937 if (ret < 0)
939 return ret == -EISDIR ? 0 : ret; 938 return ret == -EISDIR ? 0 : ret;
940 } 939 }
@@ -999,7 +998,7 @@ static bool __follow_mount_rcu(struct nameidata *nd, struct path *path,
999 struct vfsmount *mounted; 998 struct vfsmount *mounted;
1000 if (unlikely(path->dentry->d_flags & DCACHE_MANAGE_TRANSIT) && 999 if (unlikely(path->dentry->d_flags & DCACHE_MANAGE_TRANSIT) &&
1001 !reverse_transit && 1000 !reverse_transit &&
1002 path->dentry->d_op->d_manage(path->dentry, false, true) < 0) 1001 path->dentry->d_op->d_manage(path->dentry, true) < 0)
1003 return false; 1002 return false;
1004 mounted = __lookup_mnt(path->mnt, path->dentry, 1); 1003 mounted = __lookup_mnt(path->mnt, path->dentry, 1);
1005 if (!mounted) 1004 if (!mounted)
@@ -1086,7 +1085,7 @@ int follow_down(struct path *path)
1086 BUG_ON(!path->dentry->d_op); 1085 BUG_ON(!path->dentry->d_op);
1087 BUG_ON(!path->dentry->d_op->d_manage); 1086 BUG_ON(!path->dentry->d_op->d_manage);
1088 ret = path->dentry->d_op->d_manage( 1087 ret = path->dentry->d_op->d_manage(
1089 path->dentry, false, false); 1088 path->dentry, false);
1090 if (ret < 0) 1089 if (ret < 0)
1091 return ret == -EISDIR ? 0 : ret; 1090 return ret == -EISDIR ? 0 : ret;
1092 } 1091 }