autofs4: fix direct mount pending expire race - correction
authorIan Kent <raven@themaw.net>
Thu, 24 Jul 2008 04:30:28 +0000 (21:30 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Jul 2008 17:47:32 +0000 (10:47 -0700)
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>
fs/autofs4/root.c

index adbd855..e062ee5 100644 (file)
@@ -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