c5ef1c42c5
Many struct inode_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
43 lines
971 B
C
43 lines
971 B
C
/*
|
|
* linux/fs/ufs/symlink.c
|
|
*
|
|
* Only fast symlinks left here - the rest is done by generic code. AV, 1999
|
|
*
|
|
* Copyright (C) 1998
|
|
* Daniel Pirkl <daniel.pirkl@emai.cz>
|
|
* Charles University, Faculty of Mathematics and Physics
|
|
*
|
|
* from
|
|
*
|
|
* linux/fs/ext2/symlink.c
|
|
*
|
|
* Copyright (C) 1992, 1993, 1994, 1995
|
|
* Remy Card (card@masi.ibp.fr)
|
|
* Laboratoire MASI - Institut Blaise Pascal
|
|
* Universite Pierre et Marie Curie (Paris VI)
|
|
*
|
|
* from
|
|
*
|
|
* linux/fs/minix/symlink.c
|
|
*
|
|
* Copyright (C) 1991, 1992 Linus Torvalds
|
|
*
|
|
* ext2 symlink handling code
|
|
*/
|
|
|
|
#include <linux/fs.h>
|
|
#include <linux/namei.h>
|
|
#include <linux/ufs_fs.h>
|
|
|
|
static void *ufs_follow_link(struct dentry *dentry, struct nameidata *nd)
|
|
{
|
|
struct ufs_inode_info *p = UFS_I(dentry->d_inode);
|
|
nd_set_link(nd, (char*)p->i_u1.i_symlink);
|
|
return NULL;
|
|
}
|
|
|
|
const struct inode_operations ufs_fast_symlink_inode_operations = {
|
|
.readlink = generic_readlink,
|
|
.follow_link = ufs_follow_link,
|
|
};
|