diff options
author | Peng Tao <tao.peng@primarydata.com> | 2014-08-26 22:47:14 -0400 |
---|---|---|
committer | Tom Haynes <loghyr@primarydata.com> | 2015-02-03 14:06:40 -0500 |
commit | aabff4ddcac0d36dd26546f5b905c27682e7bf89 (patch) | |
tree | b110bd135df2b9cab2bb7caf4f89566a60167a7b /fs/nfs/nfs3xdr.c | |
parent | 9bf87482ddc6f8db884177a2a16b1a1dc12f8777 (diff) |
nfs: save server READ/WRITE/COMMIT status
Flexfiles layout would want to use them to report DS IO status.
Signed-off-by: Peng Tao <tao.peng@primarydata.com>
Signed-off-by: Tom Haynes <Thomas.Haynes@primarydata.com>
Diffstat (limited to 'fs/nfs/nfs3xdr.c')
-rw-r--r-- | fs/nfs/nfs3xdr.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/nfs3xdr.c b/fs/nfs/nfs3xdr.c index 8f4cbe7f4aa8..2a932fdc57cb 100644 --- a/fs/nfs/nfs3xdr.c +++ b/fs/nfs/nfs3xdr.c | |||
@@ -1636,6 +1636,7 @@ static int nfs3_xdr_dec_read3res(struct rpc_rqst *req, struct xdr_stream *xdr, | |||
1636 | error = decode_post_op_attr(xdr, result->fattr); | 1636 | error = decode_post_op_attr(xdr, result->fattr); |
1637 | if (unlikely(error)) | 1637 | if (unlikely(error)) |
1638 | goto out; | 1638 | goto out; |
1639 | result->op_status = status; | ||
1639 | if (status != NFS3_OK) | 1640 | if (status != NFS3_OK) |
1640 | goto out_status; | 1641 | goto out_status; |
1641 | error = decode_read3resok(xdr, result); | 1642 | error = decode_read3resok(xdr, result); |
@@ -1708,6 +1709,7 @@ static int nfs3_xdr_dec_write3res(struct rpc_rqst *req, struct xdr_stream *xdr, | |||
1708 | error = decode_wcc_data(xdr, result->fattr); | 1709 | error = decode_wcc_data(xdr, result->fattr); |
1709 | if (unlikely(error)) | 1710 | if (unlikely(error)) |
1710 | goto out; | 1711 | goto out; |
1712 | result->op_status = status; | ||
1711 | if (status != NFS3_OK) | 1713 | if (status != NFS3_OK) |
1712 | goto out_status; | 1714 | goto out_status; |
1713 | error = decode_write3resok(xdr, result); | 1715 | error = decode_write3resok(xdr, result); |
@@ -2323,6 +2325,7 @@ static int nfs3_xdr_dec_commit3res(struct rpc_rqst *req, | |||
2323 | error = decode_wcc_data(xdr, result->fattr); | 2325 | error = decode_wcc_data(xdr, result->fattr); |
2324 | if (unlikely(error)) | 2326 | if (unlikely(error)) |
2325 | goto out; | 2327 | goto out; |
2328 | result->op_status = status; | ||
2326 | if (status != NFS3_OK) | 2329 | if (status != NFS3_OK) |
2327 | goto out_status; | 2330 | goto out_status; |
2328 | error = decode_writeverf3(xdr, &result->verf->verifier); | 2331 | error = decode_writeverf3(xdr, &result->verf->verifier); |