 8dc51fe5ab
			
		
	
	
	8dc51fe5ab
	
	
	
		
			
			The autofs4 module doesn't consider symlinks for expire as it did in the older autofs v3 module (so it's actually a long standing regression). The user space daemon has focused on the use of bind mounts instead of symlinks for a long time now and that's why this has not been noticed. But with the future addition of amd map parsing to automount(8), not to mention amd itself (of am-utils), symlink expiry will be 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. Since the current users of the autofs4 module haven't reported this as a problem to date this patch probably isn't a candidate for backport to stable. Signed-off-by: Ian Kent <ikent@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			951 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			951 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /* -*- c -*- --------------------------------------------------------------- *
 | |
|  *
 | |
|  * linux/fs/autofs/symlink.c
 | |
|  *
 | |
|  *  Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved
 | |
|  *
 | |
|  * This file is part of the Linux kernel and is made available under
 | |
|  * the terms of the GNU General Public License, version 2, or at your
 | |
|  * option, any later version, incorporated herein by reference.
 | |
|  *
 | |
|  * ------------------------------------------------------------------------- */
 | |
| 
 | |
| #include "autofs_i.h"
 | |
| 
 | |
| static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd)
 | |
| {
 | |
| 	struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb);
 | |
| 	struct autofs_info *ino = autofs4_dentry_ino(dentry);
 | |
| 	if (ino && !autofs4_oz_mode(sbi))
 | |
| 		ino->last_used = jiffies;
 | |
| 	nd_set_link(nd, dentry->d_inode->i_private);
 | |
| 	return NULL;
 | |
| }
 | |
| 
 | |
| const struct inode_operations autofs4_symlink_inode_operations = {
 | |
| 	.readlink	= generic_readlink,
 | |
| 	.follow_link	= autofs4_follow_link
 | |
| };
 |