libceph: fix ceph_eversion encoding
authorIlya Dryomov <idryomov@gmail.com>
Thu, 28 Apr 2016 14:07:22 +0000 (16:07 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 25 May 2016 22:36:24 +0000 (00:36 +0200)
eversion_t is version+epoch in userspace and is encoded in that order.
ceph_eversion is defined as epoch+version in rados.h, yet we memcpy it
in __send_request().  Reoder ceph_eversion fields.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
include/linux/ceph/rados.h

index 2f822dca10463b796d6a2e5fa3b9bf25e361bf31..913c87c26d335fc2c85bcd599e146574609d2d1a 100644 (file)
@@ -114,8 +114,8 @@ struct ceph_object_layout {
  * compound epoch+version, used by storage layer to serialize mutations
  */
 struct ceph_eversion {
-       __le32 epoch;
        __le64 version;
+       __le32 epoch;
 } __attribute__ ((packed));
 
 /*