aboutsummaryrefslogtreecommitdiffstats
path: root/fs/autofs4/root.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/autofs4/root.c')
-rw-r--r--fs/autofs4/root.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c
index 651e4ef563b..20225636a4e 100644
--- a/fs/autofs4/root.c
+++ b/fs/autofs4/root.c
@@ -234,7 +234,7 @@ static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd)
234 nd->flags); 234 nd->flags);
235 /* 235 /*
236 * For an expire of a covered direct or offset mount we need 236 * For an expire of a covered direct or offset mount we need
237 * to break out of follow_down() at the autofs mount trigger 237 * to break out of follow_down_one() at the autofs mount trigger
238 * (d_mounted--), so we can see the expiring flag, and manage 238 * (d_mounted--), so we can see the expiring flag, and manage
239 * the blocking and following here until the expire is completed. 239 * the blocking and following here until the expire is completed.
240 */ 240 */
@@ -243,7 +243,7 @@ static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd)
243 if (ino->flags & AUTOFS_INF_EXPIRING) { 243 if (ino->flags & AUTOFS_INF_EXPIRING) {
244 spin_unlock(&sbi->fs_lock); 244 spin_unlock(&sbi->fs_lock);
245 /* Follow down to our covering mount. */ 245 /* Follow down to our covering mount. */
246 if (!follow_down(&nd->path)) 246 if (!follow_down_one(&nd->path))
247 goto done; 247 goto done;
248 goto follow; 248 goto follow;
249 } 249 }
@@ -292,11 +292,10 @@ follow:
292 * multi-mount with no root offset so we don't need 292 * multi-mount with no root offset so we don't need
293 * to follow it. 293 * to follow it.
294 */ 294 */
295 if (d_mountpoint(dentry)) { 295 if (d_managed(dentry)) {
296 if (!autofs4_follow_mount(&nd->path)) { 296 status = follow_down(&nd->path, false);
297 status = -ENOENT; 297 if (status < 0)
298 goto out_error; 298 goto out_error;
299 }
300 } 299 }
301 300
302done: 301done: