aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorIan Kent <raven@themaw.net>2008-07-24 00:30:28 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-24 13:47:32 -0400
commitec6e8c7d3f9073336ec7b2eed3fcda6f922087c3 (patch)
treef88f8c2c972477e64f29ad619b9f42f6d5dcf961 /fs
parent6e60a9ab5f5d314735467752f623072f5b75157a (diff)
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')
-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)
241 /* Follow down to our covering mount. */ 241 /* Follow down to our covering mount. */
242 if (!follow_down(&nd->path.mnt, &nd->path.dentry)) 242 if (!follow_down(&nd->path.mnt, &nd->path.dentry))
243 goto done; 243 goto done;
244 /* 244 goto follow;
245 * We shouldn't need to do this but we have no way
246 * of knowing what may have been done so try a follow
247 * just in case.
248 */
249 autofs4_follow_mount(&nd->path.mnt, &nd->path.dentry);
250 goto done;
251 } 245 }
252 spin_unlock(&sbi->fs_lock); 246 spin_unlock(&sbi->fs_lock);
253 goto done; 247 goto done;
@@ -273,7 +267,7 @@ cont:
273 /* We trigger a mount for almost all flags */ 267 /* We trigger a mount for almost all flags */
274 lookup_type = nd->flags & (TRIGGER_FLAGS | TRIGGER_INTENTS); 268 lookup_type = nd->flags & (TRIGGER_FLAGS | TRIGGER_INTENTS);
275 if (!(lookup_type || dentry->d_flags & DCACHE_AUTOFS_PENDING)) 269 if (!(lookup_type || dentry->d_flags & DCACHE_AUTOFS_PENDING))
276 goto done; 270 goto follow;
277 271
278 /* 272 /*
279 * If the dentry contains directories then it is an autofs 273 * If the dentry contains directories then it is an autofs