|
@@ -290,10 +290,8 @@ struct dentry *autofs4_expire_direct(struct super_block *sb,
|
|
|
spin_lock(&sbi->fs_lock);
|
|
|
ino = autofs4_dentry_ino(root);
|
|
|
/* No point expiring a pending mount */
|
|
|
- if (ino->flags & AUTOFS_INF_PENDING) {
|
|
|
- spin_unlock(&sbi->fs_lock);
|
|
|
- return NULL;
|
|
|
- }
|
|
|
+ if (ino->flags & AUTOFS_INF_PENDING)
|
|
|
+ goto out;
|
|
|
if (!autofs4_direct_busy(mnt, root, timeout, do_now)) {
|
|
|
struct autofs_info *ino = autofs4_dentry_ino(root);
|
|
|
ino->flags |= AUTOFS_INF_EXPIRING;
|
|
@@ -301,6 +299,7 @@ struct dentry *autofs4_expire_direct(struct super_block *sb,
|
|
|
spin_unlock(&sbi->fs_lock);
|
|
|
return root;
|
|
|
}
|
|
|
+out:
|
|
|
spin_unlock(&sbi->fs_lock);
|
|
|
dput(root);
|
|
|
|