|
@@ -392,10 +392,12 @@ static struct vfsmount *autofs4_d_automount(struct path *path)
|
|
ino->flags |= AUTOFS_INF_PENDING;
|
|
ino->flags |= AUTOFS_INF_PENDING;
|
|
spin_unlock(&sbi->fs_lock);
|
|
spin_unlock(&sbi->fs_lock);
|
|
status = autofs4_mount_wait(dentry);
|
|
status = autofs4_mount_wait(dentry);
|
|
- if (status)
|
|
|
|
- return ERR_PTR(status);
|
|
|
|
spin_lock(&sbi->fs_lock);
|
|
spin_lock(&sbi->fs_lock);
|
|
ino->flags &= ~AUTOFS_INF_PENDING;
|
|
ino->flags &= ~AUTOFS_INF_PENDING;
|
|
|
|
+ if (status) {
|
|
|
|
+ spin_unlock(&sbi->fs_lock);
|
|
|
|
+ return ERR_PTR(status);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
done:
|
|
done:
|
|
if (!(ino->flags & AUTOFS_INF_EXPIRING)) {
|
|
if (!(ino->flags & AUTOFS_INF_EXPIRING)) {
|