mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-19 18:36:41 +07:00
6b2553918d
new method: ->get_link(); replacement of ->follow_link(). The differences are: * inode and dentry are passed separately * might be called both in RCU and non-RCU mode; the former is indicated by passing it a NULL dentry. * when called that way it isn't allowed to block and should return ERR_PTR(-ECHILD) if it needs to be called in non-RCU mode. It's a flagday change - the old method is gone, all in-tree instances converted. Conversion isn't hard; said that, so far very few instances do not immediately bail out when called in RCU mode. That'll change in the next commits. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
33 lines
999 B
C
33 lines
999 B
C
/* -*- 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 const char *autofs4_get_link(struct dentry *dentry,
|
|
struct inode *inode, void **cookie)
|
|
{
|
|
struct autofs_sb_info *sbi;
|
|
struct autofs_info *ino;
|
|
if (!dentry)
|
|
return ERR_PTR(-ECHILD);
|
|
sbi = autofs4_sbi(dentry->d_sb);
|
|
ino = autofs4_dentry_ino(dentry);
|
|
if (ino && !autofs4_oz_mode(sbi))
|
|
ino->last_used = jiffies;
|
|
return d_inode(dentry)->i_private;
|
|
}
|
|
|
|
const struct inode_operations autofs4_symlink_inode_operations = {
|
|
.readlink = generic_readlink,
|
|
.get_link = autofs4_get_link
|
|
};
|