svcrdma: Fix dma map direction for rdma read targets
The nfs server rdma transport was mapping rdma read target pages for TO_DEVICE instead of FROM_DEVICE. This causes data corruption on non cache-coherent systems if frmrs are used. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
0910697403
commit
d0687be7c7
|
@ -265,7 +265,7 @@ static int fast_reg_read_chunks(struct svcxprt_rdma *xprt,
|
||||||
frmr->page_list->page_list[page_no] =
|
frmr->page_list->page_list[page_no] =
|
||||||
ib_dma_map_single(xprt->sc_cm_id->device,
|
ib_dma_map_single(xprt->sc_cm_id->device,
|
||||||
page_address(rqstp->rq_arg.pages[page_no]),
|
page_address(rqstp->rq_arg.pages[page_no]),
|
||||||
PAGE_SIZE, DMA_TO_DEVICE);
|
PAGE_SIZE, DMA_FROM_DEVICE);
|
||||||
if (ib_dma_mapping_error(xprt->sc_cm_id->device,
|
if (ib_dma_mapping_error(xprt->sc_cm_id->device,
|
||||||
frmr->page_list->page_list[page_no]))
|
frmr->page_list->page_list[page_no]))
|
||||||
goto fatal_err;
|
goto fatal_err;
|
||||||
|
|
Loading…
Reference in New Issue