svcrdma: refactor marshalling logic
This patch refactors the NFSRDMA server marshalling logic to remove the intermediary map structures. It also fixes an existing bug where the NFSRDMA server was not minding the device fast register page list length limitations. Signed-off-by: Tom Tucker <tom@opengridcomputing.com> Signed-off-by: Steve Wise <swise@opengridcomputing.com>
This commit is contained in:
parent
1b19453d1c
commit
0bf4828983
4 changed files with 351 additions and 625 deletions
|
|
@ -115,14 +115,13 @@ struct svc_rdma_fastreg_mr {
|
|||
struct list_head frmr_list;
|
||||
};
|
||||
struct svc_rdma_req_map {
|
||||
struct svc_rdma_fastreg_mr *frmr;
|
||||
unsigned long count;
|
||||
union {
|
||||
struct kvec sge[RPCSVC_MAXPAGES];
|
||||
struct svc_rdma_chunk_sge ch[RPCSVC_MAXPAGES];
|
||||
unsigned long lkey[RPCSVC_MAXPAGES];
|
||||
};
|
||||
};
|
||||
#define RDMACTXT_F_FAST_UNREG 1
|
||||
#define RDMACTXT_F_LAST_CTXT 2
|
||||
|
||||
#define SVCRDMA_DEVCAP_FAST_REG 1 /* fast mr registration */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue