From: "Steve Wise" <swise@opengridcomputing.com>
To: "'Chuck Lever'" <chucklever@gmail.com>
Cc: "'J. Bruce Fields'" <bfields@fieldses.org>,
"'Linux NFS Mailing List'" <linux-nfs@vger.kernel.org>,
"'linux-rdma'" <linux-rdma@vger.kernel.org>,
"'Tom Tucker'" <tom@opengridcomputing.com>
Subject: RE: [PATCH V2 RFC 2/3] svcrdma: Recvfrom changes
Date: Wed, 14 May 2014 13:24:00 -0500 [thread overview]
Message-ID: <009a01cf6fa1$ad1906b0$074b1410$@opengridcomputing.com> (raw)
In-Reply-To: <639CE8CC-46CE-4EC9-A97B-2F146BA045C4@gmail.com>
> >>
> >
> > So the code as it stands violates the RFC by sending 2 chunks?
>
> The Linux client is non-compliant because it sends two chunks. A compliant server
ignores the
> second chunk, so this is functionally harmless (but a waste of resources).
>
> The Linux server is non-compliant because it _requires_ the XDR pad chunk. A compliant
client
> (eg. Linux with pad optimization enabled) does not interoperate with it.
>
> > And if I change the server
> > to only consume 1, then everything unaligned will break?
>
> If you change the server to consume only the first chunk, but do not also make it deal
with XDR
> padding as recommended in chapter 3 of RFC 5666, then WRITEs with a length that is not a
> multiple of four will fail. SYMLINKs with a large payload will also have this problem.
>
Thanks Chuck for clarifying this! So I'm going to defer this issue and fix it with a
subsequent patch to only process 1 chunk and handle pad correctly.
Steve.
WARNING: multiple messages have this Message-ID (diff)
From: "Steve Wise" <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
To: 'Chuck Lever' <chucklever-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "'J. Bruce Fields'"
<bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>,
'Linux NFS Mailing List'
<linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
'linux-rdma' <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
'Tom Tucker'
<tom-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
Subject: RE: [PATCH V2 RFC 2/3] svcrdma: Recvfrom changes
Date: Wed, 14 May 2014 13:24:00 -0500 [thread overview]
Message-ID: <009a01cf6fa1$ad1906b0$074b1410$@opengridcomputing.com> (raw)
In-Reply-To: <639CE8CC-46CE-4EC9-A97B-2F146BA045C4-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> >>
> >
> > So the code as it stands violates the RFC by sending 2 chunks?
>
> The Linux client is non-compliant because it sends two chunks. A compliant server
ignores the
> second chunk, so this is functionally harmless (but a waste of resources).
>
> The Linux server is non-compliant because it _requires_ the XDR pad chunk. A compliant
client
> (eg. Linux with pad optimization enabled) does not interoperate with it.
>
> > And if I change the server
> > to only consume 1, then everything unaligned will break?
>
> If you change the server to consume only the first chunk, but do not also make it deal
with XDR
> padding as recommended in chapter 3 of RFC 5666, then WRITEs with a length that is not a
> multiple of four will fail. SYMLINKs with a large payload will also have this problem.
>
Thanks Chuck for clarifying this! So I'm going to defer this issue and fix it with a
subsequent patch to only process 1 chunk and handle pad correctly.
Steve.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-05-14 18:23 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-06 17:46 [PATCH V2 RFC 0/3] svcrdma: refactor marshalling logic Steve Wise
2014-05-06 17:46 ` Steve Wise
2014-05-06 17:46 ` [PATCH V2 RFC 1/3] svcrdma: Transport and header file changes Steve Wise
2014-05-06 17:46 ` Steve Wise
2014-05-06 19:21 ` J. Bruce Fields
2014-05-06 19:21 ` J. Bruce Fields
2014-05-06 21:02 ` Steve Wise
2014-05-06 21:02 ` Steve Wise
2014-05-06 21:13 ` J. Bruce Fields
2014-05-06 21:13 ` J. Bruce Fields
2014-05-06 17:46 ` [PATCH V2 RFC 2/3] svcrdma: Recvfrom changes Steve Wise
2014-05-06 17:46 ` Steve Wise
2014-05-13 18:22 ` Chuck Lever
2014-05-13 18:22 ` Chuck Lever
2014-05-13 20:37 ` Steve Wise
2014-05-13 20:37 ` Steve Wise
2014-05-13 21:44 ` Chuck Lever
2014-05-13 21:44 ` Chuck Lever
2014-05-14 14:26 ` Steve Wise
2014-05-14 14:26 ` Steve Wise
2014-05-14 14:39 ` Chuck Lever
2014-05-14 14:39 ` Chuck Lever
2014-05-14 18:11 ` Steve Wise
2014-05-14 18:11 ` Steve Wise
2014-05-14 18:21 ` Chuck Lever
2014-05-14 18:21 ` Chuck Lever
2014-05-14 18:24 ` Steve Wise [this message]
2014-05-14 18:24 ` Steve Wise
2014-05-06 17:46 ` [PATCH V2 RFC 3/3] svcrdma: Sendto changes Steve Wise
2014-05-06 17:46 ` Steve Wise
2014-05-06 19:27 ` [PATCH V2 RFC 0/3] svcrdma: refactor marshalling logic J. Bruce Fields
2014-05-06 19:27 ` J. Bruce Fields
2014-05-06 21:09 ` Steve Wise
2014-05-06 21:09 ` Steve Wise
2014-05-19 19:07 ` Devesh Sharma
2014-05-19 19:07 ` Devesh Sharma
2014-05-19 19:14 ` Steve Wise
2014-05-19 19:14 ` Steve Wise
2014-05-20 5:42 ` Devesh Sharma
2014-05-20 5:42 ` Devesh Sharma
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='009a01cf6fa1$ad1906b0$074b1410$@opengridcomputing.com' \
--to=swise@opengridcomputing.com \
--cc=bfields@fieldses.org \
--cc=chucklever@gmail.com \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=tom@opengridcomputing.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.