mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
8bb8aefd5a
OrangeFS was formerly known as PVFS2 and retains the name in many places. I leave the device /dev/pvfs2-req since this affects userspace. I leave the filesystem type pvfs2 since this affects userspace. Further the OrangeFS sysint library reads fstab for an entry of type pvfs2 independently of kernel mounts. I leave extended attribute keys user.pvfs2 and system.pvfs2 as the sysint library understands these. I leave references to userspace binaries still named pvfs2. I leave the filenames. Signed-off-by: Yi Liu <yi9@clemson.edu> [martin@omnibond.com: clairify above constraints and merge] Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
32 lines
758 B
C
32 lines
758 B
C
/*
|
|
* (C) 2001 Clemson University and The University of Chicago
|
|
*
|
|
* See COPYING in top-level directory.
|
|
*/
|
|
|
|
#include "protocol.h"
|
|
#include "pvfs2-kernel.h"
|
|
#include "pvfs2-bufmap.h"
|
|
|
|
static const char *orangefs_follow_link(struct dentry *dentry, void **cookie)
|
|
{
|
|
char *target = ORANGEFS_I(dentry->d_inode)->link_target;
|
|
|
|
gossip_debug(GOSSIP_INODE_DEBUG,
|
|
"%s: called on %s (target is %p)\n",
|
|
__func__, (char *)dentry->d_name.name, target);
|
|
|
|
*cookie = target;
|
|
|
|
return target;
|
|
}
|
|
|
|
struct inode_operations orangefs_symlink_inode_operations = {
|
|
.readlink = generic_readlink,
|
|
.follow_link = orangefs_follow_link,
|
|
.setattr = orangefs_setattr,
|
|
.getattr = orangefs_getattr,
|
|
.listxattr = orangefs_listxattr,
|
|
.setxattr = generic_setxattr,
|
|
};
|