提交 3daa020f 编写于 作者: J J. Bruce Fields

Revert "svcrdma: Do not send XDR roundup bytes for a write chunk"

This reverts commit 6f18dc89.

Just as one example, it appears this code could do the wrong thing in
the case of a two-byte NFS READ that crosses a page boundary.

Chuck says: "In that case, nfsd would pass down an xdr_buf that has one
byte in a page, one byte in another page, and a two-byte XDR pad. The
logic introduced by this optimization would be fooled, and neither the
second byte nor the XDR pad would be written to the client."

Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
上级 0751ddf7
......@@ -342,13 +342,6 @@ static int send_write_chunks(struct svcxprt_rdma *xprt,
arg_ch->rs_handle,
arg_ch->rs_offset,
write_len);
/* Do not send XDR pad bytes */
if (chunk_no && write_len < 4) {
chunk_no++;
break;
}
chunk_off = 0;
while (write_len) {
ret = send_write(xprt, rqstp,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册