blob: de58cc7b8076178605cea8f776031945d7d6da62 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* -*- c -*- --------------------------------------------------------------- *
2 *
3 * linux/fs/autofs/symlink.c
4 *
5 * Copyright 1997-1998 Transmeta Corporation -- All Rights Reserved
6 *
7 * This file is part of the Linux kernel and is made available under
8 * the terms of the GNU General Public License, version 2, or at your
9 * option, any later version, incorporated herein by reference.
10 *
11 * ------------------------------------------------------------------------- */
12
13#include "autofs_i.h"
14
Al Viro008b1502005-08-20 00:17:39 +010015static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd)
Linus Torvalds1da177e2005-04-16 15:20:36 -070016{
Ian Kent8dc51fe2014-01-23 15:55:01 -080017 struct autofs_sb_info *sbi = autofs4_sbi(dentry->d_sb);
18 struct autofs_info *ino = autofs4_dentry_ino(dentry);
19 if (ino && !autofs4_oz_mode(sbi))
20 ino->last_used = jiffies;
David Howells2b0143b2015-03-17 22:25:59 +000021 nd_set_link(nd, d_inode(dentry)->i_private);
Al Viro008b1502005-08-20 00:17:39 +010022 return NULL;
Linus Torvalds1da177e2005-04-16 15:20:36 -070023}
24
Arjan van de Ven754661f2007-02-12 00:55:38 -080025const struct inode_operations autofs4_symlink_inode_operations = {
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 .readlink = generic_readlink,
27 .follow_link = autofs4_follow_link
28};