On 1/12/2015 2:30 AM, Chuck Lever wrote:
Hi Sagi-
Thanks for the review.
On Jan 11, 2015, at 12:37 PM, Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> wrote:
On 1/9/2015 9:22 PM, Chuck Lever wrote:
xdr_start() can return the wrong rmsgp address if an assumption
about how the xdr_buf was constructed changes. When it gets it
wrong, the client receives a reply that has gibberish in the
RPC/RDMA header, preventing it from matching a waiting RPC request.
Instead, make (and document) just one assumption: that the RDMA
header for the client's RPC call is at the start of the first page
in rq_pages.
Would it make more sense to add another pointer assigned at req
initialization (maybe in the RDMA request context) instead of hard
coding this assumption? I may be completely wrong here though...
I considered this. I couldn’t find an appropriate place to add
such a pointer.
I think that’s why xdr_start() was there in the first place: there
is no convenient place to save a pointer to the request’s RDMA
header.
Bruce might have other thoughts about this.
Yep, I didn't find any nice place to put that also, thought you might
have an idea...
Sagi.
--
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