aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/dir.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2018-04-07 13:50:59 -0400
committerTrond Myklebust <trond.myklebust@hammerspace.com>2018-06-04 12:07:07 -0400
commita841b54dbd65421726caf7129f8951910c7a8ea6 (patch)
tree6d39aa190863b61863885ad66c8247f21746af9c /fs/nfs/dir.c
parentNFSv4: Don't request size+change attribute if they are delegated to us (diff)
downloadlinux-dev-a841b54dbd65421726caf7129f8951910c7a8ea6.tar.xz
linux-dev-a841b54dbd65421726caf7129f8951910c7a8ea6.zip
NFS: Pass the inode down to the getattr() callback
Allow the getattr() callback to check things like whether or not we hold a delegation so that it can adjust the attributes that it is asking for. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/dir.c')
-rw-r--r--fs/nfs/dir.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 978a22ea962c..7a9c14426855 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -1656,7 +1656,8 @@ int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fhandle,
nfs_set_verifier(dentry, nfs_save_change_attribute(dir));
if (!(fattr->valid & NFS_ATTR_FATTR)) {
struct nfs_server *server = NFS_SB(dentry->d_sb);
- error = server->nfs_client->rpc_ops->getattr(server, fhandle, fattr, NULL);
+ error = server->nfs_client->rpc_ops->getattr(server, fhandle,
+ fattr, NULL, NULL);
if (error < 0)
goto out_error;
}