linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] autofs - fix symlinks aren't checked for expiry
@ 2013-11-28  8:38 Ian Kent
  0 siblings, 0 replies; 4+ messages in thread
From: Ian Kent @ 2013-11-28  8:38 UTC (permalink / raw)
  To: Kernel Mailing List; +Cc: linux-fsdevel, autofs mailing list

From: Ian Kent <ikent@redhat.com>

The autofs4 module doesn't consider symlinks for expire.

The user space daemon has focused on the use of bind mounts
instead of symlinks for a long time now. But, with the
future addition of amd map parsing in automount(8), not
to mention amd iteslf, symlink expiry is needed.

The direct and offset mount types can't be symlinks and
the tree mounts of version 4 were always real mounts so
only indirect mounts need expire symlinks.

Signed-off-by: Ian Kent <ikent@redhat.com>
---
 fs/autofs4/expire.c  |   12 ++++++++++++
 fs/autofs4/symlink.c |    3 +++
 2 files changed, 15 insertions(+)

diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c
index 3d9d3f5..ce7df7c 100644
--- a/fs/autofs4/expire.c
+++ b/fs/autofs4/expire.c
@@ -402,6 +402,18 @@ struct dentry *autofs4_expire_indirect(struct super_block *sb,
 			goto next;
 		}
 
+		if (dentry->d_inode && S_ISLNK(dentry->d_inode->i_mode)) {
+			/*
+			 * 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))
 			goto next;
 
diff --git a/fs/autofs4/symlink.c b/fs/autofs4/symlink.c
index f27c094..061a692 100644
--- a/fs/autofs4/symlink.c
+++ b/fs/autofs4/symlink.c
@@ -14,6 +14,9 @@
 
 static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd)
 {
+	struct autofs_info *ino = autofs4_dentry_ino(dentry);
+	if (ino)
+		ino->last_used = jiffies;
 	nd_set_link(nd, dentry->d_inode->i_private);
 	return NULL;
 }


^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [PATCH] Current patch to fix autofs symlink expiry
@ 2013-12-27  4:32 Ian Kent
  2013-12-27  4:32 ` [PATCH] autofs - fix symlinks aren't checked for expiry Ian Kent
  0 siblings, 1 reply; 4+ messages in thread
From: Ian Kent @ 2013-12-27  4:32 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-fsdevel, autofs mailing list, Kernel Mailing List

This patch obsoletes both the current patches:
autofs-fix-symlinks-arent-checked-for-expiry.patch
autofs-fix-fix-symlinks-arent-checked-for-expiry.patch

It's a merge of both of these patches with an updated description.

---

Ian Kent (1):
      autofs - fix symlinks aren't checked for expiry


 fs/autofs4/expire.c  |   14 ++++++++++++++
 fs/autofs4/symlink.c |    4 ++++
 2 files changed, 18 insertions(+)

-- 
Ian

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-12-28  2:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-28  8:38 [PATCH] autofs - fix symlinks aren't checked for expiry Ian Kent
2013-12-27  4:32 [PATCH] Current patch to fix autofs symlink expiry Ian Kent
2013-12-27  4:32 ` [PATCH] autofs - fix symlinks aren't checked for expiry Ian Kent
2013-12-27 10:53   ` Sedat Dilek
2013-12-28  2:31     ` Ian Kent

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).