From a52203e26619f8d864f52492e404e566eb9f6da9 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 27 Jan 2010 14:27:26 -0800 Subject: [PATCH] common/include/rgw: Add versioning to structs without it. --- src/common/ClassVersion.h | 4 +++ src/common/DecayCounter.h | 4 +++ src/rgw/rgw_acl.h | 56 ++++++++++++++++++++++++++++----------- 3 files changed, 48 insertions(+), 16 deletions(-) diff --git a/src/common/ClassVersion.h b/src/common/ClassVersion.h index 8bb5ad4ceb6df..85681c0a4d8d7 100644 --- a/src/common/ClassVersion.h +++ b/src/common/ClassVersion.h @@ -24,10 +24,14 @@ public: friend class ClassVersionMap; void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(ver, bl); ::encode(architecture, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(ver, bl); ::decode(architecture, bl); } diff --git a/src/common/DecayCounter.h b/src/common/DecayCounter.h index 6e7f3ea39d2fb..1a6af99fb778e 100644 --- a/src/common/DecayCounter.h +++ b/src/common/DecayCounter.h @@ -42,6 +42,8 @@ public: public: void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(half_life, bl); ::encode(k, bl); ::encode(val, bl); @@ -49,6 +51,8 @@ public: ::encode(vel, bl); } void decode(bufferlist::iterator &p) { + __u8 struct_v; + ::decode(struct_v, p); ::decode(half_life, p); ::decode(k, p); ::decode(val, p); diff --git a/src/rgw/rgw_acl.h b/src/rgw/rgw_acl.h index 685d62130fb68..782019829ff95 100644 --- a/src/rgw/rgw_acl.h +++ b/src/rgw/rgw_acl.h @@ -108,9 +108,13 @@ public: void set_permissions(int perm) { flags = perm; } void encode(bufferlist& bl) const { - ::encode(flags, bl); + __u8 struct_v = 1; + ::encode(struct_v, bl); + ::encode(flags, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(flags, bl); } void to_xml(ostream& out) { @@ -172,10 +176,14 @@ public: } void encode(bufferlist& bl) const { - ::encode(type, bl); + __u8 struct_v = 1; + ::encode(struct_v, bl); + ::encode(type, bl); } void decode(bufferlist::iterator& bl) { - ::decode(type, bl); + __u8 struct_v; + ::decode(struct_v, bl); + ::decode(type, bl); } }; WRITE_CLASS_ENCODER(ACLGranteeType) @@ -224,14 +232,18 @@ public: ACLPermission& get_permission() { return permission; } void encode(bufferlist& bl) const { - ::encode(type, bl); - ::encode(id, bl); - ::encode(uri, bl); - ::encode(email, bl); - ::encode(permission, bl); - ::encode(name, bl); + __u8 struct_v = 1; + ::encode(struct_v, bl); + ::encode(type, bl); + ::encode(id, bl); + ::encode(uri, bl); + ::encode(email, bl); + ::encode(permission, bl); + ::encode(name, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(type, bl); ::decode(id, bl); ::decode(uri, bl); @@ -289,11 +301,15 @@ public: void xml_end(const char *el); int get_perm(string& id, int perm_mask); void encode(bufferlist& bl) const { - ::encode(user_map_initialized, bl); - ::encode(acl_user_map, bl); - ::encode(grant_map, bl); + __u8 struct_v = 1; + ::encode(struct_v, bl); + ::encode(user_map_initialized, bl); + ::encode(acl_user_map, bl); + ::encode(grant_map, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(user_map_initialized, bl); ::decode(acl_user_map, bl); ::decode(grant_map, bl); @@ -331,10 +347,14 @@ public: void xml_end(const char *el); void encode(bufferlist& bl) const { - ::encode(id, bl); - ::encode(display_name, bl); + __u8 struct_v = 1; + ::encode(struct_v, bl); + ::encode(id, bl); + ::encode(display_name, bl); } void decode(bufferlist::iterator& bl) { + __u8 struct_v; + ::decode(struct_v, bl); ::decode(id, bl); ::decode(display_name, bl); } @@ -365,12 +385,16 @@ public: int get_perm(string& id, int perm_mask); void encode(bufferlist& bl) const { + __u8 struct_v = 1; + ::encode(struct_v, bl); ::encode(owner, bl); ::encode(acl, bl); } void decode(bufferlist::iterator& bl) { - ::decode(owner, bl); - ::decode(acl, bl); + __u8 struct_v; + ::decode(struct_v, bl); + ::decode(owner, bl); + ::decode(acl, bl); } void to_xml(ostream& out) { out << ""; -- 2.39.5