diff options
author | Mike Marshall <hubcap@omnibond.com> | 2016-03-14 20:30:03 +0100 |
---|---|---|
committer | Mike Marshall <hubcap@omnibond.com> | 2016-03-14 20:48:28 +0100 |
commit | a7d3e78ab53ff479fee3ad5a674a74c54c337b3b (patch) | |
tree | d634b9d79bb81e575b717d8e7fe7ca053e9478c6 /fs/orangefs | |
parent | Orangefs: Extra sanity insurance on buffer before using string functions on it. (diff) | |
download | linux-a7d3e78ab53ff479fee3ad5a674a74c54c337b3b.tar.xz linux-a7d3e78ab53ff479fee3ad5a674a74c54c337b3b.zip |
Orangefs: follow_link -> get_link change
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Diffstat (limited to 'fs/orangefs')
-rw-r--r-- | fs/orangefs/inode.c | 8 | ||||
-rw-r--r-- | fs/orangefs/symlink.c | 15 |
2 files changed, 4 insertions, 19 deletions
diff --git a/fs/orangefs/inode.c b/fs/orangefs/inode.c index 4e923ece1e09..4a350ec2dbb3 100644 --- a/fs/orangefs/inode.c +++ b/fs/orangefs/inode.c @@ -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, diff --git a/fs/orangefs/symlink.c b/fs/orangefs/symlink.c index 2b8541a7fc43..6418dd638680 100644 --- a/fs/orangefs/symlink.c +++ b/fs/orangefs/symlink.c @@ -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, |