|
@@ -402,6 +402,20 @@ struct dentry *autofs4_expire_indirect(struct super_block *sb,
|
|
goto next;
|
|
goto next;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (dentry->d_inode && S_ISLNK(dentry->d_inode->i_mode)) {
|
|
|
|
+ DPRINTK("checking symlink %p %.*s",
|
|
|
|
+ dentry, (int)dentry->d_name.len, dentry->d_name.name);
|
|
|
|
+ /*
|
|
|
|
+ * A symlink can't be "busy" in the usual sense so
|
|
|
|
+ * just check last used for expire timeout.
|
|
|
|
+ */
|
|
|
|
+ if (autofs4_can_expire(dentry, timeout, do_now)) {
|
|
|
|
+ expired = dentry;
|
|
|
|
+ goto found;
|
|
|
|
+ }
|
|
|
|
+ goto next;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (simple_empty(dentry))
|
|
if (simple_empty(dentry))
|
|
goto next;
|
|
goto next;
|
|
|
|
|