diff --git a/[refs] b/[refs] index 246c657083a3..fc81c0ffe19c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cc9acc885819696c0ed00f4f0f0cda0c7583f116 +refs/heads/master: 1684b2bba6972749bc9acee57585acd6c78050b2 diff --git a/trunk/fs/autofs4/root.c b/trunk/fs/autofs4/root.c index e137acf0543d..2a771ec66956 100644 --- a/trunk/fs/autofs4/root.c +++ b/trunk/fs/autofs4/root.c @@ -306,7 +306,14 @@ static int try_to_fill_dentry(struct dentry *dentry, DPRINTK("expire done status=%d", status); - return 0; + /* + * If the directory still exists the mount request must + * continue otherwise it can't be followed at the right + * time during the walk. + */ + status = d_invalidate(dentry); + if (status != -EBUSY) + return 0; } DPRINTK("dentry=%p %.*s ino=%p",