blob: 84e037d1d129336a7d052ad2881db238785bd350 [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 Viro6b255392015-11-17 10:20:54 -050015static const char *autofs4_get_link(struct dentry *dentry,
Al Virofceef392015-12-29 15:58:39 -050016 struct inode *inode,
17 struct delayed_call *done)
Linus Torvalds1da177e2005-04-16 15:20:36 -070018{
Al Viro6b255392015-11-17 10:20:54 -050019 struct autofs_sb_info *sbi;
20 struct autofs_info *ino;
21 if (!dentry)
22 return ERR_PTR(-ECHILD);
23 sbi = autofs4_sbi(dentry->d_sb);
24 ino = autofs4_dentry_ino(dentry);
Ian Kent8dc51fe2014-01-23 15:55:01 -080025 if (ino && !autofs4_oz_mode(sbi))
26 ino->last_used = jiffies;
Al Viro680baac2015-05-02 13:32:22 -040027 return d_inode(dentry)->i_private;
Linus Torvalds1da177e2005-04-16 15:20:36 -070028}
29
Arjan van de Ven754661f2007-02-12 00:55:38 -080030const struct inode_operations autofs4_symlink_inode_operations = {
Linus Torvalds1da177e2005-04-16 15:20:36 -070031 .readlink = generic_readlink,
Al Viro6b255392015-11-17 10:20:54 -050032 .get_link = autofs4_get_link
Linus Torvalds1da177e2005-04-16 15:20:36 -070033};