From: Ulrich Weigand Date: Mon, 2 Sep 2019 19:22:09 +0000 (+0200) Subject: include: Simplify usage of init_le16/32/64 routines X-Git-Tag: v15.1.0~1637^2~14 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=c576bb28a7744fac6d0bb02cc67c7e6542218e95;p=ceph-ci.git include: Simplify usage of init_le16/32/64 routines These routines currently just return plain __u16/32/64. This patch changes them to return ceph_le16/32/64 types instead. This has a number of benefits, in particular it allows the routines to now be used to directly initialize variables of ceph_le16/32/64 type, as one would expect from the names of those routines. This doesn't make much of a difference in the current code base, but it simplifies future patches to fix endian issues. Fixes (partially): https://tracker.ceph.com/issues/41605 Signed-off-by: Ulrich Weigand --- diff --git a/src/include/byteorder.h b/src/include/byteorder.h index 86748601668..85268543143 100644 --- a/src/include/byteorder.h +++ b/src/include/byteorder.h @@ -83,14 +83,20 @@ using ceph_le64 = ceph_le<__u64>; using ceph_le32 = ceph_le<__u32>; using ceph_le16 = ceph_le<__u16>; -inline __u64 init_le64(__u64 x) { - return mswab<__u64>(x); +inline ceph_le64 init_le64(__u64 x) { + ceph_le64 v; + v = x; + return v; } -inline __u32 init_le32(__u32 x) { - return mswab<__u32>(x); +inline ceph_le32 init_le32(__u32 x) { + ceph_le32 v; + v = x; + return v; } -inline __u16 init_le16(__u16 x) { - return mswab<__u16>(x); +inline ceph_le16 init_le16(__u16 x) { + ceph_le16 v; + v = x; + return v; } /* diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h index 6ce1b3a0b2f..68434455d9a 100644 --- a/src/msg/msg_types.h +++ b/src/msg/msg_types.h @@ -77,7 +77,7 @@ public: bool is_mgr() const { return type() == TYPE_MGR; } operator ceph_entity_name() const { - ceph_entity_name n = { _type, {init_le64(_num)} }; + ceph_entity_name n = { _type, init_le64(_num) }; return n; }