sunrpc: hton -> cpu_to_be*
Benny Halevy [Fri, 14 Aug 2009 14:18:44 +0000 (17:18 +0300)]
htonl is already defined as cpu_to_be32.
cpu_to_be64 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 b99c625..f94bbdc 100644 (file)
@@ -117,9 +117,8 @@ static inline __be32 *xdr_encode_array(__be32 *p, const void *s, unsigned int le
 static inline __be32 *
 xdr_encode_hyper(__be32 *p, __u64 val)
 {
-       *p++ = htonl(val >> 32);
-       *p++ = htonl(val & 0xFFFFFFFF);
-       return p;
+       *(__be64 *)p = cpu_to_be64(val);
+       return p + 2;
 }
 
 static inline __be32 *
index 406e26d..0d05d25 100644 (file)
@@ -24,7 +24,7 @@ xdr_encode_netobj(__be32 *p, const struct xdr_netobj *obj)
        unsigned int    quadlen = XDR_QUADLEN(obj->len);
 
        p[quadlen] = 0;         /* zero trailing bytes */
-       *p++ = htonl(obj->len);
+       *p++ = cpu_to_be32(obj->len);
        memcpy(p, obj->data, obj->len);
        return p + XDR_QUADLEN(obj->len);
 }
@@ -83,7 +83,7 @@ EXPORT_SYMBOL_GPL(xdr_encode_opaque_fixed);
  */
 __be32 *xdr_encode_opaque(__be32 *p, const void *ptr, unsigned int nbytes)
 {
-       *p++ = htonl(nbytes);
+       *p++ = cpu_to_be32(nbytes);
        return xdr_encode_opaque_fixed(p, ptr, nbytes);
 }
 EXPORT_SYMBOL_GPL(xdr_encode_opaque);
@@ -779,7 +779,7 @@ EXPORT_SYMBOL_GPL(xdr_decode_word);
 int
 xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj)
 {
-       __be32  raw = htonl(obj);
+       __be32  raw = cpu_to_be32(obj);
 
        return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj));
 }