Re: [PATCH v2] svcrdma: fix offset calculation for non-page aligned sge entries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 17, 2014 at 01:10:05PM -0400, Jeff Layton wrote:
> The xdr_off value in dma_map_xdr gets passed to ib_dma_map_page as the
> offset into the page to be mapped. This calculation does not correctly
> take into account the case where the data starts at some offset into
> the page. Increment the xdr_off by the page_base to ensure that it is
> respected.

Thanks, applying.--b.

> 
> Cc: Tom Tucker <tom@xxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
>  net/sunrpc/xprtrdma/svc_rdma_sendto.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
> index c1d124dc772b..5f14609b6336 100644
> --- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c
> +++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
> @@ -265,6 +265,7 @@ static dma_addr_t dma_map_xdr(struct svcxprt_rdma *xprt,
>  		xdr_off -= xdr->head[0].iov_len;
>  		if (xdr_off < xdr->page_len) {
>  			/* This offset is in the page list */
> +			xdr_off += xdr->page_base;
>  			page = xdr->pages[xdr_off >> PAGE_SHIFT];
>  			xdr_off &= ~PAGE_MASK;
>  		} else {
> -- 
> 1.8.5.3
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux