From: Sage Weil Date: Wed, 27 Jan 2010 21:33:02 +0000 (-0800) Subject: osd: add struct_v to most encoded structs that don't already have one X-Git-Tag: v0.19~150 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e574c84a6a0c5a5070dc72d5f5d3d17914ef824a;p=ceph.git osd: add struct_v to most encoded structs that don't already have one --- diff --git a/src/osd/OSDMap.h b/src/osd/OSDMap.h index 6acd9aa03124..43ddeca18895 100644 --- a/src/osd/OSDMap.h +++ b/src/osd/OSDMap.h @@ -89,6 +89,8 @@ struct osd_info_t { osd_info_t() : last_clean_first(0), last_clean_last(0), up_from(0), up_thru(0), down_at(0), lost_at(0) {} void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(last_clean_first, bl); ::encode(last_clean_last, bl); ::encode(up_from, bl); @@ -97,6 +99,8 @@ struct osd_info_t { ::encode(lost_at, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(last_clean_first, bl); ::decode(last_clean_last, bl); ::decode(up_from, bl); diff --git a/src/osd/PG.h b/src/osd/PG.h index 2a51a119dfe3..6d457376e2cb 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -118,6 +118,8 @@ public: } void encode(bufferlist &bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(epoch_created, bl); ::encode(last_epoch_started, bl); ::encode(last_epoch_split, bl); @@ -125,11 +127,12 @@ public: ::encode(same_up_since, bl); ::encode(same_primary_since, bl); } - void decode(bufferlist::iterator &bl, version_t v) { + void decode(bufferlist::iterator &bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(epoch_created, bl); ::decode(last_epoch_started, bl); - if (v >= 21) - ::decode(last_epoch_split, bl); + ::decode(last_epoch_split, bl); ::decode(same_acting_since, bl); ::decode(same_up_since, bl); ::decode(same_primary_since, bl); @@ -166,7 +169,7 @@ public: ::decode(log_tail, bl); ::decode(log_backlog, bl); ::decode(stats, bl); - history.decode(bl, v); + history.decode(bl); ::decode(snap_trimq, bl); } }; @@ -205,7 +208,7 @@ public: void decode(bufferlist::iterator &bl) { ::decode(type, bl); ::decode(since, bl); - history.decode(bl, ~0ull); + history.decode(bl); } }; WRITE_CLASS_ENCODER(Query) @@ -253,6 +256,8 @@ public: bool is_update() const { return is_clone() || is_modify() || is_backlog(); } void encode(bufferlist &bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(op, bl); ::encode(soid, bl); ::encode(version, bl); @@ -263,6 +268,8 @@ public: ::encode(snaps, bl); } void decode(bufferlist::iterator &bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(op, bl); ::decode(soid, bl); ::decode(version, bl); @@ -306,12 +313,16 @@ public: } void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(head, bl); ::encode(tail, bl); ::encode(backlog, bl); ::encode(log, bl); } void decode(bufferlist::iterator &bl) { + __u8 struct_v = 1; + ::decode(struct_v, bl); ::decode(head, bl); ::decode(tail, bl); ::decode(backlog, bl); @@ -435,10 +446,14 @@ public: bool trim_to(eversion_t v, ObjectStore::Transaction& t); void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(tail, bl); ::encode(head, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(tail, bl); ::decode(head, bl); } @@ -559,9 +574,13 @@ public: } void encode(bufferlist &bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(missing, bl); } void decode(bufferlist::iterator &bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(missing, bl); for (map::iterator it = missing.begin(); @@ -632,6 +651,8 @@ public: bool maybe_went_rw; void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(first, bl); ::encode(last, bl); ::encode(up, bl); @@ -639,6 +660,8 @@ public: ::encode(maybe_went_rw, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(first, bl); ::decode(last, bl); ::decode(up, bl); diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index ef80ca451c25..0d091c210e45 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -43,11 +43,15 @@ struct osd_reqid_t { osd_reqid_t() : tid(0), inc(0) {} osd_reqid_t(const entity_name_t& a, int i, tid_t t) : name(a), tid(t), inc(i) {} void encode(bufferlist &bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(name, bl); ::encode(tid, bl); ::encode(inc, bl); } void decode(bufferlist::iterator &bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(name, bl); ::decode(tid, bl); ::decode(inc, bl); @@ -267,10 +271,14 @@ struct coll_t { } void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(pgid, bl); ::encode(snap, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(pgid, bl); ::decode(snap, bl); } @@ -520,11 +528,15 @@ struct pool_snap_info_t { nstring name; void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(snapid, bl); ::encode(stamp, bl); ::encode(name, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(snapid, bl); ::decode(stamp, bl); ::decode(name, bl); @@ -1218,11 +1230,15 @@ struct ScrubMap { map attrs; void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(poid, bl); ::encode(size, bl); ::encode(attrs, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(poid, bl); ::decode(size, bl); ::decode(attrs, bl); @@ -1235,11 +1251,15 @@ struct ScrubMap { bufferlist logbl; void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(objects, bl); ::encode(attrs, bl); ::encode(logbl, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(objects, bl); ::decode(attrs, bl); ::decode(logbl, bl);