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 <ulrich.weigand@de.ibm.com>
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;
}
/*
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;
}