Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* -*- 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 Viro | 008b150 | 2005-08-20 00:17:39 +0100 | [diff] [blame] | 15 | static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | { |
Ian Kent | 8dc51fe | 2014-01-23 15:55:01 -0800 | [diff] [blame] | 17 | 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 Howells | 2b0143b | 2015-03-17 22:25:59 +0000 | [diff] [blame] | 21 | nd_set_link(nd, d_inode(dentry)->i_private); |
Al Viro | 008b150 | 2005-08-20 00:17:39 +0100 | [diff] [blame] | 22 | return NULL; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 23 | } |
| 24 | |
Arjan van de Ven | 754661f | 2007-02-12 00:55:38 -0800 | [diff] [blame] | 25 | const struct inode_operations autofs4_symlink_inode_operations = { |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | .readlink = generic_readlink, |
| 27 | .follow_link = autofs4_follow_link |
| 28 | }; |