From 147c6f51e34a875ab65624df04baa8ef89296ddd Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 4 Feb 2010 16:18:43 -0800 Subject: [PATCH] osd: add uid to ceph_pg_pool; move encoding versions of rados.h --- src/include/rados.h | 8 ++++++++ src/osd/OSDMap.h | 20 +++++--------------- src/osd/osd_types.h | 10 ++++++---- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/include/rados.h b/src/include/rados.h index 123fd845459ee..1f4c786405419 100644 --- a/src/include/rados.h +++ b/src/include/rados.h @@ -8,6 +8,12 @@ #include "msgr.h" +/* + * osdmap encoding versions + */ +#define CEPH_OSDMAP_INC_VERSION 3 +#define CEPH_OSDMAP_VERSION 3 + /* * fs id */ @@ -80,6 +86,7 @@ struct ceph_pg { */ #define CEPH_PG_TYPE_REP 1 #define CEPH_PG_TYPE_RAID4 2 +#define CEPH_PG_POOL_VERSION 2 struct ceph_pg_pool { __u8 type; /* CEPH_PG_TYPE_* */ __u8 size; /* number of osds in each pg */ @@ -92,6 +99,7 @@ struct ceph_pg_pool { __le32 snap_epoch; /* epoch of last snap */ __le32 num_snaps; __le32 num_removed_snap_intervals; + __le64 uid; } __attribute__ ((packed)); /* diff --git a/src/osd/OSDMap.h b/src/osd/OSDMap.h index 43ddeca18895d..667980756930d 100644 --- a/src/osd/OSDMap.h +++ b/src/osd/OSDMap.h @@ -163,7 +163,7 @@ public: void encode(bufferlist& bl) { // base - __u16 v = 3; + __u16 v = CEPH_OSDMAP_INC_VERSION; ::encode(v, bl); ::encode(fsid, bl); ::encode(epoch, bl); @@ -209,8 +209,7 @@ public: ::decode(new_pg_temp, p); // extended - if (v >= 3) - ::decode(new_hb_up, p); + ::decode(new_hb_up, p); ::decode(new_pool_names, p); ::decode(new_up_thru, p); ::decode(new_last_clean_interval, p); @@ -554,7 +553,7 @@ private: // serialize, unserialize void encode(bufferlist& bl) { - __u16 v = 3; + __u16 v = CEPH_OSDMAP_VERSION; ::encode(v, bl); // base @@ -611,8 +610,7 @@ private: ::decode(osd_state, p); ::decode(osd_weight, p); ::decode(osd_addr, p); - if (v >= 2) - ::decode(pg_temp, p); + ::decode(pg_temp, p); // crush bufferlist cbl; @@ -621,15 +619,7 @@ private: crush.decode(cblp); // extended - if (v >= 3) - ::decode(osd_hb_addr, p); - if (v < 3 || (osd_hb_addr.empty() && osd_addr.size())) { - osd_hb_addr.resize(osd_addr.size()); - for (unsigned i=0; i