|
@@ -372,8 +372,9 @@ static void svc_rdma_pagelist_to_sg(struct svc_rdma_write_info *info,
|
|
struct scatterlist *sg;
|
|
struct scatterlist *sg;
|
|
struct page **page;
|
|
struct page **page;
|
|
|
|
|
|
- page_off = (info->wi_next_off + xdr->page_base) & ~PAGE_MASK;
|
|
|
|
- page_no = (info->wi_next_off + xdr->page_base) >> PAGE_SHIFT;
|
|
|
|
|
|
+ page_off = info->wi_next_off + xdr->page_base;
|
|
|
|
+ page_no = page_off >> PAGE_SHIFT;
|
|
|
|
+ page_off = offset_in_page(page_off);
|
|
page = xdr->pages + page_no;
|
|
page = xdr->pages + page_no;
|
|
info->wi_next_off += remaining;
|
|
info->wi_next_off += remaining;
|
|
sg = ctxt->rw_sg_table.sgl;
|
|
sg = ctxt->rw_sg_table.sgl;
|