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 | 6b25539 | 2015-11-17 10:20:54 -0500 | [diff] [blame^] | 15 | static const char *autofs4_get_link(struct dentry *dentry, |
| 16 | struct inode *inode, void **cookie) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 17 | { |
Al Viro | 6b25539 | 2015-11-17 10:20:54 -0500 | [diff] [blame^] | 18 | struct autofs_sb_info *sbi; |
| 19 | struct autofs_info *ino; |
| 20 | if (!dentry) |
| 21 | return ERR_PTR(-ECHILD); |
| 22 | sbi = autofs4_sbi(dentry->d_sb); |
| 23 | ino = autofs4_dentry_ino(dentry); |
Ian Kent | 8dc51fe | 2014-01-23 15:55:01 -0800 | [diff] [blame] | 24 | if (ino && !autofs4_oz_mode(sbi)) |
| 25 | ino->last_used = jiffies; |
Al Viro | 680baac | 2015-05-02 13:32:22 -0400 | [diff] [blame] | 26 | return d_inode(dentry)->i_private; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 27 | } |
| 28 | |
Arjan van de Ven | 754661f | 2007-02-12 00:55:38 -0800 | [diff] [blame] | 29 | const struct inode_operations autofs4_symlink_inode_operations = { |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 30 | .readlink = generic_readlink, |
Al Viro | 6b25539 | 2015-11-17 10:20:54 -0500 | [diff] [blame^] | 31 | .get_link = autofs4_get_link |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | }; |