* [PATCH 2.6.30] svcrdma: Fix dma map direction for rdma read targets
@ 2009-04-03 20:18 Steve Wise
[not found] ` <20090403201824.18102.62915.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Steve Wise @ 2009-04-03 20:18 UTC (permalink / raw)
To: bfields; +Cc: linux-nfs, tom
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>
---
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
index 629a287..42a6f9f 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
@@ -265,7 +265,7 @@ static int fast_reg_read_chunks(struct svcxprt_rdma *xprt,
frmr->page_list->page_list[page_no] =
ib_dma_map_single(xprt->sc_cm_id->device,
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,
frmr->page_list->page_list[page_no]))
goto fatal_err;
^ permalink raw reply related [flat|nested] 4+ messages in thread[parent not found: <20090403201824.18102.62915.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>]
* Re: [PATCH 2.6.30] svcrdma: Fix dma map direction for rdma read targets [not found] ` <20090403201824.18102.62915.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org> @ 2009-04-03 20:23 ` Tom Tucker 2009-04-09 15:32 ` J. Bruce Fields 0 siblings, 1 reply; 4+ messages in thread From: Tom Tucker @ 2009-04-03 20:23 UTC (permalink / raw) To: Steve Wise; +Cc: bfields, linux-nfs Steve Wise wrote: > 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> > --- > > net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c > index 629a287..42a6f9f 100644 > --- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c > +++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c > @@ -265,7 +265,7 @@ static int fast_reg_read_chunks(struct svcxprt_rdma *xprt, > frmr->page_list->page_list[page_no] = > ib_dma_map_single(xprt->sc_cm_id->device, > page_address(rqstp->rq_arg.pages[page_no]), > - PAGE_SIZE, DMA_TO_DEVICE); > + PAGE_SIZE, DMA_FROM_DEVICE); FWIW, this looks good to me. > if (ib_dma_mapping_error(xprt->sc_cm_id->device, > frmr->page_list->page_list[page_no])) > goto fatal_err; > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2.6.30] svcrdma: Fix dma map direction for rdma read targets 2009-04-03 20:23 ` Tom Tucker @ 2009-04-09 15:32 ` J. Bruce Fields 2009-04-09 19:17 ` Tom Tucker 0 siblings, 1 reply; 4+ messages in thread From: J. Bruce Fields @ 2009-04-09 15:32 UTC (permalink / raw) To: Tom Tucker; +Cc: Steve Wise, linux-nfs On Fri, Apr 03, 2009 at 03:23:47PM -0500, Tom Tucker wrote: > Steve Wise wrote: >> 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> >> --- >> >> net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c >> index 629a287..42a6f9f 100644 >> --- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c >> +++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c >> @@ -265,7 +265,7 @@ static int fast_reg_read_chunks(struct svcxprt_rdma *xprt, >> frmr->page_list->page_list[page_no] = >> ib_dma_map_single(xprt->sc_cm_id->device, >> page_address(rqstp->rq_arg.pages[page_no]), >> - PAGE_SIZE, DMA_TO_DEVICE); >> + PAGE_SIZE, DMA_FROM_DEVICE); > > FWIW, this looks good to me. Thanks; I'll add an acked-by if you don't object. Should this go to stable as well? --b. > >> if (ib_dma_mapping_error(xprt->sc_cm_id->device, >> frmr->page_list->page_list[page_no])) >> goto fatal_err; >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2.6.30] svcrdma: Fix dma map direction for rdma read targets 2009-04-09 15:32 ` J. Bruce Fields @ 2009-04-09 19:17 ` Tom Tucker 0 siblings, 0 replies; 4+ messages in thread From: Tom Tucker @ 2009-04-09 19:17 UTC (permalink / raw) To: J. Bruce Fields; +Cc: Steve Wise, linux-nfs J. Bruce Fields wrote: > On Fri, Apr 03, 2009 at 03:23:47PM -0500, Tom Tucker wrote: >> Steve Wise wrote: >>> 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> >>> --- >>> >>> net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 2 +- >>> 1 files changed, 1 insertions(+), 1 deletions(-) >>> >>> diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c >>> index 629a287..42a6f9f 100644 >>> --- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c >>> +++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c >>> @@ -265,7 +265,7 @@ static int fast_reg_read_chunks(struct svcxprt_rdma *xprt, >>> frmr->page_list->page_list[page_no] = >>> ib_dma_map_single(xprt->sc_cm_id->device, >>> page_address(rqstp->rq_arg.pages[page_no]), >>> - PAGE_SIZE, DMA_TO_DEVICE); >>> + PAGE_SIZE, DMA_FROM_DEVICE); >> FWIW, this looks good to me. > > Thanks; I'll add an acked-by if you don't object. Sure... >... Should this go to > stable as well? > I think so because it's a bug and we've verified it fixes the data corruption issue and doesn't regress existing platforms. > --b. > >>> if (ib_dma_mapping_error(xprt->sc_cm_id->device, >>> frmr->page_list->page_list[page_no])) >>> goto fatal_err; >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-04-09 19:17 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-03 20:18 [PATCH 2.6.30] svcrdma: Fix dma map direction for rdma read targets Steve Wise
[not found] ` <20090403201824.18102.62915.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>
2009-04-03 20:23 ` Tom Tucker
2009-04-09 15:32 ` J. Bruce Fields
2009-04-09 19:17 ` Tom Tucker
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.