sunrpc: ntoh -> be*_to_cpu
authorBenny Halevy <bhalevy@panasas.com>
Fri, 14 Aug 2009 14:18:49 +0000 (17:18 +0300)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 14 Aug 2009 17:12:52 +0000 (13:12 -0400)
ntohl is already defined as be32_to_cpu.
be64_to_cpu has architecture specific optimized implementations.

Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
include/linux/sunrpc/xdr.h
net/sunrpc/xdr.c

index f94bbdc..7da466b 100644 (file)
@@ -124,9 +124,8 @@ xdr_encode_hyper(__be32 *p, __u64 val)
 static inline __be32 *
 xdr_decode_hyper(__be32 *p, __u64 *valp)
 {
-       *valp  = ((__u64) ntohl(*p++)) << 32;
-       *valp |= ntohl(*p++);
-       return p;
+       *valp = be64_to_cpup((__be64 *)p);
+       return p + 2;
 }
 
 /*
index 0d05d25..8bd690c 100644 (file)
@@ -35,7 +35,7 @@ xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj)
 {
        unsigned int    len;
 
-       if ((len = ntohl(*p++)) > XDR_MAX_NETOBJ)
+       if ((len = be32_to_cpu(*p++)) > XDR_MAX_NETOBJ)
                return NULL;
        obj->len  = len;
        obj->data = (u8 *) p;
@@ -101,7 +101,7 @@ xdr_decode_string_inplace(__be32 *p, char **sp,
 {
        u32 len;
 
-       len = ntohl(*p++);
+       len = be32_to_cpu(*p++);
        if (len > maxlen)
                return NULL;
        *lenp = len;
@@ -771,7 +771,7 @@ xdr_decode_word(struct xdr_buf *buf, unsigned int base, u32 *obj)
        status = read_bytes_from_xdr_buf(buf, base, &raw, sizeof(*obj));
        if (status)
                return status;
-       *obj = ntohl(raw);
+       *obj = be32_to_cpu(raw);
        return 0;
 }
 EXPORT_SYMBOL_GPL(xdr_decode_word);