orangefs: Implement inode_operations->permission().
Thus d_revalidate is not obliged to check on as much, which will
eventually lead the way to hammering the filesystem servers much less.
Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
diff --git a/fs/orangefs/dcache.c b/fs/orangefs/dcache.c
index e8fb79d..a6911db 100644
--- a/fs/orangefs/dcache.c
+++ b/fs/orangefs/dcache.c
@@ -119,8 +119,9 @@
goto out;
/* Now we must perform a getattr to validate the inode contents. */
+
ret = orangefs_inode_getattr(dentry->d_inode,
- ORANGEFS_ATTR_SYS_ALL_NOHINT, 1);
+ ORANGEFS_ATTR_SYS_TYPE|ORANGEFS_ATTR_SYS_LNK_TARGET, 1);
if (ret < 0) {
gossip_debug(GOSSIP_DCACHE_DEBUG, "%s:%s:%d getattr failure.\n",
__FILE__, __func__, __LINE__);