From: Steve Wise <swise@opengridcomputing.com>
To: Tom Talpey <tmtalpey@gmail.com>
Cc: Trond.Myklebust@netapp.com, tom@opengridcomputing.com,
linux-nfs@vger.kernel.org, vuhuong@mellanox.com
Subject: Re: [PATCH 2.6.30] xprtrdma: The frmr iova_start values are truncated by the nfs rdma client.
Date: Mon, 27 Apr 2009 12:37:25 -0500 [thread overview]
Message-ID: <49F5ED55.1010607@opengridcomputing.com> (raw)
In-Reply-To: <49f515a5.1d1e640a.1c82.6677-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
Tom Talpey wrote:
> At 02:57 PM 4/26/2009, Steve Wise wrote:
>
>> Hey Trond,
>>
>> Turns out the server side is fine. So this patch is good to go.
>>
>
> I'll ACK the patch, but I do wonder if the code will compile cleanly on all
> platforms. The iova_start is a u64, whereas the mr_dma is a dma_addr_t,
> which is variable sized, depending on platform. Would a (u64) cast be a
> safer patch, warning-wise?
>
>
Well, if dma_addr_t is smaller, I don't think you'll get a warning, will
you? And if its larger than 64b, then you _want_ the warning, because
nothing will work. :)
Its up to you and/or Trond.
Steve.
> Tom.
>
>
>> Thanks,
>>
>> Steve.
>>
>> Steve Wise wrote:
>>
>>> Trond,
>>>
>>> There is a similar bug in the server side too. I'll repost a single
>>> patch that fixes both.
>>>
>>> Steve.
>>>
>>> Steve Wise wrote:
>>>
>>>> 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@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;
>>>>
>>>> --
>>>> 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
>>>
>>
next prev parent reply other threads:[~2009-04-27 17:37 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-24 19:05 [PATCH 2.6.30] xprtrdma: The frmr iova_start values are truncated by the nfs rdma client Steve Wise
[not found] ` <20090424190510.3134.90405.stgit-T4OLL4TyM9aNDNWfRnPdfg@public.gmane.org>
2009-04-25 14:11 ` Steve Wise
2009-04-26 18:57 ` Steve Wise
2009-04-27 2:17 ` Tom Talpey
[not found] ` <49f515a5.1d1e640a.1c82.6677-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
2009-04-27 17:37 ` Steve Wise [this message]
2009-04-27 18:05 ` Trond Myklebust
[not found] ` <1240855510.8818.9.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-04-27 18:23 ` Trond Myklebust
[not found] ` <1240856613.8818.16.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-04-27 19:32 ` Steve Wise
2009-04-27 19:42 ` Tom Talpey
[not found] ` <49f60ac4.1c1d640a.2d0a.61a7-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
2009-04-27 19:50 ` Steve Wise
2009-04-27 20:06 ` Tom Talpey
[not found] ` <49f61067.181e640a.3cb9.0e6c-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
2009-04-27 20:20 ` Steve Wise
2009-04-27 20:46 ` Trond Myklebust
[not found] ` <1240865214.8818.73.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-04-27 20:49 ` Steve Wise
2009-05-11 22:25 ` Steve Wise
2009-05-11 22:50 ` Trond Myklebust
[not found] ` <1242082203.1743.11.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-05-12 0:13 ` Steve Wise
2009-05-12 0:23 ` Tom Talpey
[not found] ` <4a08c1b5.151e640a.0a99.fffff868-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
2009-05-12 0:44 ` Steve Wise
2009-05-12 0:44 ` Trond Myklebust
[not found] ` <1242089066.1743.19.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-05-12 1:14 ` Tom Talpey
[not found] ` <4a08cd7b.48c3f10a.6bb1.fffff6d3-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
2009-05-12 1:35 ` Trond Myklebust
[not found] ` <1242092150.16618.15.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2009-05-12 3:06 ` Steve Wise
2009-05-12 16:11 ` [ofa-general] " Steve Wise
2009-05-12 16:23 ` Steve Wise
2009-05-13 21:35 ` Roland Dreier
[not found] ` <adak54kr8iz.fsf-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2009-05-14 7:22 ` Or Gerlitz
[not found] ` <4A0BC6A6.1070002-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2009-05-14 13:41 ` Steve Wise
2009-05-14 13:45 ` Or Gerlitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49F5ED55.1010607@opengridcomputing.com \
--to=swise@opengridcomputing.com \
--cc=Trond.Myklebust@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=tmtalpey@gmail.com \
--cc=tom@opengridcomputing.com \
--cc=vuhuong@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox