Commit 81d21747 authored by Chuck Lever's avatar Chuck Lever

SUNRPC: Move definition of XDR_UNIT

Clean up: The unit of XDR alignment is defined by RFC 4506,
not as part of the RPC message header. Thus it belongs in
include/linux/sunrpc/xdr.h.
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 89ff8749
...@@ -10,9 +10,6 @@ ...@@ -10,9 +10,6 @@
#define RPC_VERSION 2 #define RPC_VERSION 2
/* size of an XDR encoding unit in bytes, i.e. 32bit */
#define XDR_UNIT (4)
/* spec defines authentication flavor as an unsigned 32 bit integer */ /* spec defines authentication flavor as an unsigned 32 bit integer */
typedef u32 rpc_authflavor_t; typedef u32 rpc_authflavor_t;
......
...@@ -19,6 +19,13 @@ ...@@ -19,6 +19,13 @@
struct bio_vec; struct bio_vec;
struct rpc_rqst; struct rpc_rqst;
/*
* Size of an XDR encoding unit in bytes, i.e. 32 bits,
* as defined in Section 3 of RFC 4506. All encoded
* XDR data items are aligned on a boundary of 32 bits.
*/
#define XDR_UNIT sizeof(__be32)
/* /*
* Buffer adjustment * Buffer adjustment
*/ */
...@@ -330,7 +337,7 @@ ssize_t xdr_stream_decode_string_dup(struct xdr_stream *xdr, char **str, ...@@ -330,7 +337,7 @@ ssize_t xdr_stream_decode_string_dup(struct xdr_stream *xdr, char **str,
static inline size_t static inline size_t
xdr_align_size(size_t n) xdr_align_size(size_t n)
{ {
const size_t mask = sizeof(__u32) - 1; const size_t mask = XDR_UNIT - 1;
return (n + mask) & ~mask; return (n + mask) & ~mask;
} }
...@@ -360,7 +367,7 @@ static inline size_t xdr_pad_size(size_t n) ...@@ -360,7 +367,7 @@ static inline size_t xdr_pad_size(size_t n)
*/ */
static inline ssize_t xdr_stream_encode_item_present(struct xdr_stream *xdr) static inline ssize_t xdr_stream_encode_item_present(struct xdr_stream *xdr)
{ {
const size_t len = sizeof(__be32); const size_t len = XDR_UNIT;
__be32 *p = xdr_reserve_space(xdr, len); __be32 *p = xdr_reserve_space(xdr, len);
if (unlikely(!p)) if (unlikely(!p))
...@@ -379,7 +386,7 @@ static inline ssize_t xdr_stream_encode_item_present(struct xdr_stream *xdr) ...@@ -379,7 +386,7 @@ static inline ssize_t xdr_stream_encode_item_present(struct xdr_stream *xdr)
*/ */
static inline int xdr_stream_encode_item_absent(struct xdr_stream *xdr) static inline int xdr_stream_encode_item_absent(struct xdr_stream *xdr)
{ {
const size_t len = sizeof(__be32); const size_t len = XDR_UNIT;
__be32 *p = xdr_reserve_space(xdr, len); __be32 *p = xdr_reserve_space(xdr, len);
if (unlikely(!p)) if (unlikely(!p))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment