svcrdma: Clean up RPC-over-RDMA Call header decoder
authorChuck Lever <chuck.lever@oracle.com>
Tue, 7 Feb 2017 16:58:32 +0000 (11:58 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Wed, 8 Feb 2017 19:41:57 +0000 (14:41 -0500)
commit647e18e3bd0308b38d5341fc08cd70ed1ce28a71
treeba5c0b0238432a9fb80aeb5192f13425aaeb88b7
parent98fc21d3bfd55a36ce9eb7b32d1ce146f0d1696d
svcrdma: Clean up RPC-over-RDMA Call header decoder

Replace C structure-based XDR decoding with pointer arithmetic.
Pointer arithmetic is considered more portable.

Rename the "decode" functions. Nothing is decoded here, they
perform only transport header sanity checking. Use existing XDR
naming conventions to help readability.

Straight-line the hot path:
 - relocate the dprintk call sites out of line
 - remove unnecessary byte-swapping
 - reduce count of conditional branches

Deprecate RDMA_MSGP. It's not properly spec'd by RFC5666, and
therefore never used by any V1 client.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/xprtrdma/svc_rdma_marshal.c