mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
b77b907fae
commit
f7422464b5
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue