diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2018-03-20 21:43:20 +0100 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2018-04-10 22:06:22 +0200 |
commit | c01d36457dccf8e4c8991ab6570ff11554824710 (patch) | |
tree | 6373d3295bea0bcee2c567b58551597337a508e3 /fs/nfs/delegation.h | |
parent | NFS: Remove the unused return_delegation() callback (diff) | |
download | linux-c01d36457dccf8e4c8991ab6570ff11554824710.tar.xz linux-c01d36457dccf8e4c8991ab6570ff11554824710.zip |
NFSv4: Don't return the delegation when not needed by NFSv4.x (x>0)
Starting with NFSv4.1, the server is able to deduce the client id from
the SEQUENCE op which means it can always figure out whether or not
the client is holding a delegation on a file that is being changed.
For that reason, RFC5661 does not require a delegation to be unconditionally
recalled on operations such as SETATTR, RENAME, or REMOVE.
Note that for now, we continue to return READ delegations since that is
still expected by the Linux knfsd server.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs/delegation.h')
-rw-r--r-- | fs/nfs/delegation.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/delegation.h b/fs/nfs/delegation.h index 185a09f37a89..dcc8a783a6e1 100644 --- a/fs/nfs/delegation.h +++ b/fs/nfs/delegation.h @@ -70,6 +70,7 @@ int nfs4_check_delegation(struct inode *inode, fmode_t flags); bool nfs4_delegation_flush_on_close(const struct inode *inode); void nfs_inode_find_delegation_state_and_recover(struct inode *inode, const nfs4_stateid *stateid); +int nfs4_inode_make_writeable(struct inode *inode); #endif |