mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
xprtrdma: Properly handle RDMA_ERROR replies
These are shorter than RPCRDMA_HDRLEN_MIN, and they need to complete the waiting RPC. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
d8647f2d3c
commit
59aa1f9a3c
2 changed files with 49 additions and 13 deletions
|
@ -93,6 +93,12 @@ struct rpcrdma_msg {
|
|||
__be32 rm_pempty[3]; /* 3 empty chunk lists */
|
||||
} rm_padded;
|
||||
|
||||
struct {
|
||||
__be32 rm_err;
|
||||
__be32 rm_vers_low;
|
||||
__be32 rm_vers_high;
|
||||
} rm_error;
|
||||
|
||||
__be32 rm_chunks[0]; /* read, write and reply chunks */
|
||||
|
||||
} rm_body;
|
||||
|
@ -109,11 +115,6 @@ enum rpcrdma_errcode {
|
|||
ERR_CHUNK = 2
|
||||
};
|
||||
|
||||
struct rpcrdma_err_vers {
|
||||
uint32_t rdma_vers_low; /* Version range supported by peer */
|
||||
uint32_t rdma_vers_high;
|
||||
};
|
||||
|
||||
enum rpcrdma_proc {
|
||||
RDMA_MSG = 0, /* An RPC call or reply msg */
|
||||
RDMA_NOMSG = 1, /* An RPC call or reply msg - separate body */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue