Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7d3e78a authored by Mike Marshall's avatar Mike Marshall
Browse files

Orangefs: follow_link -> get_link change

parent 53f57fef
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -268,17 +268,15 @@ int orangefs_getattr(struct vfsmount *mnt,
		     "orangefs_getattr: called on %s\n",
		     dentry->d_name.name);

	/*
	 * Similar to the above comment, a getattr also expects that all
	 * fields/attributes of the inode would be refreshed. So again, we
	 * dont have too much of a choice but refresh all the attributes.
	 */
	ret = orangefs_inode_getattr(inode, ORANGEFS_ATTR_SYS_ALL_NOHINT, 0);
	if (ret == 0) {
		generic_fillattr(inode, kstat);

		/* override block size reported to stat */
		orangefs_inode = ORANGEFS_I(inode);
		kstat->blksize = orangefs_inode->blksize;

		inode->i_link = ORANGEFS_I(dentry->d_inode)->link_target;
	} else {
		/* assume an I/O error and flag inode as bad */
		gossip_debug(GOSSIP_INODE_DEBUG,
+1 −14
Original line number Diff line number Diff line
@@ -8,22 +8,9 @@
#include "orangefs-kernel.h"
#include "orangefs-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,
	.get_link = simple_get_link,
	.setattr = orangefs_setattr,
	.getattr = orangefs_getattr,
	.listxattr = orangefs_listxattr,