diff options
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/current_stateid.h | 2 | ||||
-rw-r--r-- | fs/nfsd/nfs4proc.c | 2 | ||||
-rw-r--r-- | fs/nfsd/nfs4state.c | 12 |
3 files changed, 16 insertions, 0 deletions
diff --git a/fs/nfsd/current_stateid.h b/fs/nfsd/current_stateid.h index 21550b69dec6..6e54d19a88c3 100644 --- a/fs/nfsd/current_stateid.h +++ b/fs/nfsd/current_stateid.h | |||
@@ -16,5 +16,7 @@ extern void nfsd4_set_closestateid(struct nfsd4_compound_state *, struct nfsd4_c | |||
16 | */ | 16 | */ |
17 | extern void nfsd4_get_closestateid(struct nfsd4_compound_state *, struct nfsd4_close *); | 17 | extern void nfsd4_get_closestateid(struct nfsd4_compound_state *, struct nfsd4_close *); |
18 | extern void nfsd4_get_lockustateid(struct nfsd4_compound_state *, struct nfsd4_locku *); | 18 | extern void nfsd4_get_lockustateid(struct nfsd4_compound_state *, struct nfsd4_locku *); |
19 | extern void nfsd4_get_readstateid(struct nfsd4_compound_state *, struct nfsd4_read *); | ||
20 | extern void nfsd4_get_writestateid(struct nfsd4_compound_state *, struct nfsd4_write *); | ||
19 | 21 | ||
20 | #endif /* _NFSD4_CURRENT_STATE_H */ | 22 | #endif /* _NFSD4_CURRENT_STATE_H */ |
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index a985e19288b1..d788d754ccde 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c | |||
@@ -1546,6 +1546,7 @@ static struct nfsd4_operation nfsd4_ops[] = { | |||
1546 | .op_flags = OP_MODIFIES_SOMETHING, | 1546 | .op_flags = OP_MODIFIES_SOMETHING, |
1547 | .op_name = "OP_READ", | 1547 | .op_name = "OP_READ", |
1548 | .op_rsize_bop = (nfsd4op_rsize)nfsd4_read_rsize, | 1548 | .op_rsize_bop = (nfsd4op_rsize)nfsd4_read_rsize, |
1549 | .op_get_currentstateid = (stateid_getter)nfsd4_get_readstateid, | ||
1549 | }, | 1550 | }, |
1550 | [OP_READDIR] = { | 1551 | [OP_READDIR] = { |
1551 | .op_func = (nfsd4op_func)nfsd4_readdir, | 1552 | .op_func = (nfsd4op_func)nfsd4_readdir, |
@@ -1624,6 +1625,7 @@ static struct nfsd4_operation nfsd4_ops[] = { | |||
1624 | .op_flags = OP_MODIFIES_SOMETHING | OP_CACHEME, | 1625 | .op_flags = OP_MODIFIES_SOMETHING | OP_CACHEME, |
1625 | .op_name = "OP_WRITE", | 1626 | .op_name = "OP_WRITE", |
1626 | .op_rsize_bop = (nfsd4op_rsize)nfsd4_write_rsize, | 1627 | .op_rsize_bop = (nfsd4op_rsize)nfsd4_write_rsize, |
1628 | .op_get_currentstateid = (stateid_getter)nfsd4_get_writestateid, | ||
1627 | }, | 1629 | }, |
1628 | [OP_RELEASE_LOCKOWNER] = { | 1630 | [OP_RELEASE_LOCKOWNER] = { |
1629 | .op_func = (nfsd4op_func)nfsd4_release_lockowner, | 1631 | .op_func = (nfsd4op_func)nfsd4_release_lockowner, |
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 24eae5c11820..e97036f32b9b 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -4745,3 +4745,15 @@ nfsd4_get_lockustateid(struct nfsd4_compound_state *cstate, struct nfsd4_locku * | |||
4745 | { | 4745 | { |
4746 | get_stateid(cstate, &locku->lu_stateid); | 4746 | get_stateid(cstate, &locku->lu_stateid); |
4747 | } | 4747 | } |
4748 | |||
4749 | void | ||
4750 | nfsd4_get_readstateid(struct nfsd4_compound_state *cstate, struct nfsd4_read *read) | ||
4751 | { | ||
4752 | get_stateid(cstate, &read->rd_stateid); | ||
4753 | } | ||
4754 | |||
4755 | void | ||
4756 | nfsd4_get_writestateid(struct nfsd4_compound_state *cstate, struct nfsd4_write *write) | ||
4757 | { | ||
4758 | get_stateid(cstate, &write->wr_stateid); | ||
4759 | } | ||