diff options
author | Ian Kent <raven@themaw.net> | 2010-05-10 16:46:08 +0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-10 09:48:10 -0700 |
commit | f7422464b57088071201cd94027662d8469f153b (patch) | |
tree | d6eea687462815fbcbe43aa6b273f672babd5f2e /fs/autofs4/root.c | |
parent | b77b907fae863f3bc546a336a8bc5e660d371788 (diff) | |
download | linux-stable-f7422464b57088071201cd94027662d8469f153b.tar.gz linux-stable-f7422464b57088071201cd94027662d8469f153b.tar.bz2 linux-stable-f7422464b57088071201cd94027662d8469f153b.zip |
autofs4-2.6.34-rc1 - fix link_count usage
After commit 1f36f774b2 ("Switch !O_CREAT case to use of do_last()") in
2.6.34-rc1 autofs direct mounts stopped working. This is caused by
current->link_count being 0 when ->follow_link() is called from
do_filp_open().
I can't work out why this hasn't been seen before Als patch series.
This patch removes the autofs dependence on current->link_count.
Signed-off-by: Ian Kent <raven@themaw.net>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/autofs4/root.c')
-rw-r--r-- | fs/autofs4/root.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c index 109a6c606d92..e8e5e63ac950 100644 --- a/fs/autofs4/root.c +++ b/fs/autofs4/root.c @@ -177,8 +177,7 @@ static int try_to_fill_dentry(struct dentry *dentry, int flags) } /* Trigger mount for path component or follow link */ } else if (ino->flags & AUTOFS_INF_PENDING || - autofs4_need_mount(flags) || - current->link_count) { + autofs4_need_mount(flags)) { DPRINTK("waiting for mount name=%.*s", dentry->d_name.len, dentry->d_name.name); @@ -262,7 +261,7 @@ static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd) spin_unlock(&dcache_lock); spin_unlock(&sbi->fs_lock); - status = try_to_fill_dentry(dentry, 0); + status = try_to_fill_dentry(dentry, nd->flags); if (status) goto out_error; |