Orangefs: follow_link -> get_link change
authorMike Marshall <hubcap@omnibond.com>
Mon, 14 Mar 2016 19:30:03 +0000 (15:30 -0400)
committerMike Marshall <hubcap@omnibond.com>
Mon, 14 Mar 2016 19:48:28 +0000 (15:48 -0400)
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
fs/orangefs/inode.c
fs/orangefs/symlink.c

index 4e923ec..4a350ec 100644 (file)
@@ -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,
index 2b8541a..6418dd6 100644 (file)
@@ -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,