Commit 4e0641a7 authored by Trond Myklebust's avatar Trond Myklebust

NFS: Optimise away an excessive GETATTR call when a file is symlinked

In the case when compiling via a symlink tree, we want to ensure that the
close-to-open GETATTR call is applied only to the final file, and not to
the symlink.
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent bce3481c
...@@ -690,7 +690,9 @@ int nfs_lookup_verify_inode(struct inode *inode, struct nameidata *nd) ...@@ -690,7 +690,9 @@ int nfs_lookup_verify_inode(struct inode *inode, struct nameidata *nd)
goto out_force; goto out_force;
/* This is an open(2) */ /* This is an open(2) */
if (nfs_lookup_check_intent(nd, LOOKUP_OPEN) != 0 && if (nfs_lookup_check_intent(nd, LOOKUP_OPEN) != 0 &&
!(server->flags & NFS_MOUNT_NOCTO)) !(server->flags & NFS_MOUNT_NOCTO) &&
(S_ISREG(inode->i_mode) ||
S_ISDIR(inode->i_mode)))
goto out_force; goto out_force;
} }
return nfs_revalidate_inode(server, inode); return nfs_revalidate_inode(server, inode);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment