summaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4_fs.h
diff options
context:
space:
mode:
authorTrond Myklebust2016-05-16 23:42:44 +0200
committerAnna Schumaker2016-05-17 21:48:07 +0200
commitabf4e13cc1e16ed83ec8363d44f76149034b2851 (patch)
tree7b22583a6a05c09e1ca32f3bb3d4730a81fd50d9 /fs/nfs/nfs4_fs.h
parentNFSv4: Label stateids with the type (diff)
downloadkernel-qcow2-linux-abf4e13cc1e16ed83ec8363d44f76149034b2851.tar.gz
kernel-qcow2-linux-abf4e13cc1e16ed83ec8363d44f76149034b2851.tar.xz
kernel-qcow2-linux-abf4e13cc1e16ed83ec8363d44f76149034b2851.zip
NFSv4: Use the right stateid for delegations in setattr, read and write
When we're using a delegation to represent our open state, we should ensure that we use the stateid that was used to create that delegation. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs/nfs4_fs.h')
-rw-r--r--fs/nfs/nfs4_fs.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index b5d9f345c9f2..768456fa1b17 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -438,8 +438,9 @@ extern void nfs41_handle_server_scope(struct nfs_client *,
struct nfs41_server_scope **);
extern void nfs4_put_lock_state(struct nfs4_lock_state *lsp);
extern int nfs4_set_lock_state(struct nfs4_state *state, struct file_lock *fl);
-extern int nfs4_select_rw_stateid(nfs4_stateid *, struct nfs4_state *,
- fmode_t, const struct nfs_lockowner *);
+extern int nfs4_select_rw_stateid(struct nfs4_state *, fmode_t,
+ const struct nfs_lockowner *, nfs4_stateid *,
+ struct rpc_cred **);
extern struct nfs_seqid *nfs_alloc_seqid(struct nfs_seqid_counter *counter, gfp_t gfp_mask);
extern int nfs_wait_on_sequence(struct nfs_seqid *seqid, struct rpc_task *task);