[ewg] [GIT PULL ofed-1.4.1] xprtrdma: The frmr iova_start values are truncated by the nfs rdma client.

Steve Wise swise at opengridcomputing.com
Fri Apr 24 12:48:26 PDT 2009


Vlad,

Please pull this fix for bug 1609 from:

ssh://vlad@sofa.openfabrics.org/~swise/scm/ofed-1.4.git ofed_1_4

Thanks,

Steve.


-------- Original Message --------
Subject: 	[PATCH 2.6.30] xprtrdma: The frmr iova_start values are 
truncated by the nfs rdma client.
Date: 	Fri, 24 Apr 2009 14:05:10 -0500
From: 	Steve Wise <swise at opengridcomputing.com>
To: 	Trond.Myklebust at netapp.com
CC: 	tmtalpey at gmail.com, tom at opengridcomputing.com, 
linux-nfs at vger.kernel.org



A bad cast causes the iova_start, which in this case is a DMA bus address,
to be truncated on 32b systems.  No cast is needed.

Signed-off-by: Steve Wise <swise at opengridcomputing.com>
---

 net/sunrpc/xprtrdma/verbs.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c
index 3b21e0c..3a374f5 100644
--- a/net/sunrpc/xprtrdma/verbs.c
+++ b/net/sunrpc/xprtrdma/verbs.c
@@ -1489,7 +1489,7 @@ rpcrdma_register_frmr_external(struct rpcrdma_mr_seg *seg,
 	memset(&frmr_wr, 0, sizeof frmr_wr);
 	frmr_wr.opcode = IB_WR_FAST_REG_MR;
 	frmr_wr.send_flags = 0;			/* unsignaled */
-	frmr_wr.wr.fast_reg.iova_start = (unsigned long)seg1->mr_dma;
+	frmr_wr.wr.fast_reg.iova_start = seg1->mr_dma;
 	frmr_wr.wr.fast_reg.page_list = seg1->mr_chunk.rl_mw->r.frmr.fr_pgl;
 	frmr_wr.wr.fast_reg.page_list_len = i;
 	frmr_wr.wr.fast_reg.page_shift = PAGE_SHIFT;






More information about the ewg mailing list