summaryrefslogtreecommitdiffstats
path: root/fs/autofs4
diff options
context:
space:
mode:
authorIan Kent <raven@themaw.net>2008-07-23 21:30:28 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-24 10:47:32 -0700
commitec6e8c7d3f9073336ec7b2eed3fcda6f922087c3 (patch)
treef88f8c2c972477e64f29ad619b9f42f6d5dcf961 /fs/autofs4
parent6e60a9ab5f5d314735467752f623072f5b75157a (diff)
downloadlinux-stable-ec6e8c7d3f9073336ec7b2eed3fcda6f922087c3.tar.gz
linux-stable-ec6e8c7d3f9073336ec7b2eed3fcda6f922087c3.tar.bz2
linux-stable-ec6e8c7d3f9073336ec7b2eed3fcda6f922087c3.zip
autofs4: fix direct mount pending expire race - correction
Appologies, somehow I seem to have sent an out dated version of this patch. Here is an additional patch that brings the patch up to date. Signed-off-by: Ian Kent <raven@themaw.net> Cc: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/autofs4')
-rw-r--r--fs/autofs4/root.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c
index adbd8559e870..e062ee5a3ed5 100644
--- a/fs/autofs4/root.c
+++ b/fs/autofs4/root.c
@@ -241,13 +241,7 @@ static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd)
/* Follow down to our covering mount. */
if (!follow_down(&nd->path.mnt, &nd->path.dentry))
goto done;
- /*
- * We shouldn't need to do this but we have no way
- * of knowing what may have been done so try a follow
- * just in case.
- */
- autofs4_follow_mount(&nd->path.mnt, &nd->path.dentry);
- goto done;
+ goto follow;
}
spin_unlock(&sbi->fs_lock);
goto done;
@@ -273,7 +267,7 @@ cont:
/* We trigger a mount for almost all flags */
lookup_type = nd->flags & (TRIGGER_FLAGS | TRIGGER_INTENTS);
if (!(lookup_type || dentry->d_flags & DCACHE_AUTOFS_PENDING))
- goto done;
+ goto follow;
/*
* If the dentry contains directories then it is an autofs