diff options
Diffstat (limited to 'kernel/fs/autofs4/symlink.c')
-rw-r--r-- | kernel/fs/autofs4/symlink.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/kernel/fs/autofs4/symlink.c b/kernel/fs/autofs4/symlink.c new file mode 100644 index 000000000..de58cc7b8 --- /dev/null +++ b/kernel/fs/autofs4/symlink.c @@ -0,0 +1,28 @@ +/* -*- 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, d_inode(dentry)->i_private); + return NULL; +} + +const struct inode_operations autofs4_symlink_inode_operations = { + .readlink = generic_readlink, + .follow_link = autofs4_follow_link +}; |