]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: add struct encoding v to ease future revisions
authorSage Weil <sage@newdream.net>
Mon, 25 Jan 2010 18:29:24 +0000 (10:29 -0800)
committerSage Weil <sage@newdream.net>
Mon, 25 Jan 2010 21:33:43 +0000 (13:33 -0800)
src/ceph.cc
src/include/ClassLibrary.h
src/include/LogEntry.h
src/mon/AuthMonitor.cc
src/mon/AuthMonitor.h
src/mon/ClassMonitor.cc
src/mon/LogMonitor.cc
src/mon/PGMap.h

index 20342a7a286c8b71ba45ae5e06ec3d25b0f693be..7e795452deabc2680de2fef68a8b31fcbff5475b 100644 (file)
@@ -156,6 +156,8 @@ void handle_notify(MMonObserveNotify *notify)
          dout(0) << "   log " << summary.tail.back() << dendl;
       } else {
        LogEntry le;
+       __u8 v;
+       ::decode(v, p);
        while (!p.end()) {
          le.decode(p);
          dout(0) << "   log " << le << dendl;
@@ -181,7 +183,8 @@ void handle_notify(MMonObserveNotify *notify)
        }
       } else {
        ClassInfo info;
-
+       __u8 v;
+       ::decode(v, p);
        while (!p.end()) {
           info.decode(p);
          dout(0) << "   class " << info << dendl;
index cfea207d51f4d705f85c06714c818194d1e0606b..b6a1bbe794fea5f3bb2f059db9df301b908ca5a0 100644 (file)
@@ -26,10 +26,14 @@ struct ClassImpl {
   version_t seq;
 
   void encode(bufferlist& bl) const {
+    __u8 v = 0;
+    ::encode(v, bl);
     ::encode(binary, bl);
     ::encode(seq, bl);
   }
   void decode(bufferlist::iterator& bl) {
+    __u8 v;
+    ::decode(v, bl);
     ::decode(binary, bl);
     ::decode(seq, bl);
   }
@@ -44,10 +48,14 @@ struct ClassInfo {
   ClassVersion version;
 
   void encode(bufferlist& bl) const {
+    __u8 v = 1;
+    ::encode(v, bl);
     ::encode(name, bl);
     ::encode(version, bl);
   }
   void decode(bufferlist::iterator& bl) {
+    __u8 v;
+    ::decode(v, bl);
     ::decode(name, bl);
     ::decode(version, bl);
   }
@@ -68,12 +76,16 @@ struct ClassLibraryIncremental {
    bufferlist impl;
 
   void encode(bufferlist& bl) const {
+    __u8 v = 1;
+    ::encode(v, bl);
     __u32 _op = (__u32)op;
     ::encode(_op, bl);
     ::encode(info, bl);
     ::encode(impl, bl);
   }
   void decode(bufferlist::iterator& bl) {
+    __u8 v;
+    ::decode(v, bl);
     __u32 _op;
     ::decode(_op, bl);
     op = (ClassLibraryIncOp)_op;
@@ -103,9 +115,13 @@ public:
   string default_ver;
 
   void encode(bufferlist& bl) const {
+    __u8 v = 1;
+    ::encode(v, bl);
     ::encode(m, bl);
   }
   void decode(bufferlist::iterator& bl) {
+    __u8 v;
+    ::decode(v, bl);
     ::decode(m, bl);
   }
 
@@ -172,10 +188,14 @@ struct ClassLibrary {
     return (info != NULL);
   }
   void encode(bufferlist& bl) const {
+    __u8 v = 1;
+    ::encode(v, bl);
     ::encode(version, bl);
     ::encode(library_map, bl);
   }
   void decode(bufferlist::iterator& bl) {
+    __u8 v;
+    ::decode(v, bl);
     ::decode(version, bl);
     ::decode(library_map, bl);
   }
index 740e7e438317603c6df5db80c5ae87e97e4c65e1..93911baf4c85a8452e5683344097e0d458f27471 100644 (file)
@@ -61,6 +61,8 @@ struct LogEntry {
   LogEntryKey key() const { return LogEntryKey(who, stamp, seq); }
 
   void encode(bufferlist& bl) const {
+    __u8 v = 1;
+    ::encode(v, bl);
     __u16 t = type;
     ::encode(who, bl);
     ::encode(stamp, bl);
@@ -69,6 +71,8 @@ struct LogEntry {
     ::encode(msg, bl);
   }
   void decode(bufferlist::iterator& bl) {
+    __u8 v;
+    ::decode(v, bl);
     __u16 t;
     ::decode(who, bl);
     ::decode(stamp, bl);
@@ -100,10 +104,14 @@ struct LogSummary {
   }
 
   void encode(bufferlist& bl) const {
+    __u8 v = 1;
+    ::encode(v, bl);
     ::encode(version, bl);
     ::encode(tail, bl);
   }
   void decode(bufferlist::iterator& bl) {
+    __u8 v;
+    ::decode(v, bl);
     ::decode(version, bl);
     ::decode(tail, bl);
   }
index feba38e2bfa044add5f34b1b0ac457d74650bf39..e1f7247b3576afca2ce0d1f39293eb19bdd62c95 100644 (file)
@@ -157,6 +157,8 @@ bool AuthMonitor::update_from_paxos()
     if (v) {
       dout(7) << "update_from_paxos startup: loading summary e" << v << dendl;
       bufferlist::iterator p = latest.begin();
+      __u8 v;
+      ::decode(v, p);
       ::decode(max_global_id, p);
       ::decode(mon->key_server, p);
     }
@@ -169,6 +171,8 @@ bool AuthMonitor::update_from_paxos()
     assert(success);
 
     bufferlist::iterator p = bl.begin();
+    __u8 v;
+    ::decode(v, p);
     while (!p.end()) {
       Incremental inc;
       ::decode(inc, p);
@@ -199,6 +203,8 @@ bool AuthMonitor::update_from_paxos()
           << " max_global_id=" << max_global_id << dendl;
 
   bufferlist bl;
+  __u8 v = 1;
+  ::encode(v, bl);
   ::encode(max_global_id, bl);
   Mutex::Locker l(mon->key_server.get_lock());
   ::encode(mon->key_server, bl);
@@ -261,6 +267,8 @@ void AuthMonitor::create_pending()
 void AuthMonitor::encode_pending(bufferlist &bl)
 {
   dout(10) << "encode_pending v " << (paxos->get_version() + 1) << dendl;
+  __u8 v = 1;
+  ::encode(v, bl);
   for (vector<Incremental>::iterator p = pending_auth.begin();
        p != pending_auth.end();
        p++)
index 0d79ac187c0a39a4f64fc914715d39851ac55716..011e46606f17f10c5fa3b8c0a7f5f5e4f466d30b 100644 (file)
@@ -45,6 +45,8 @@ public:
     bufferlist auth_data;
 
     void encode(bufferlist& bl) const {
+      __u8 v = 1;
+      ::encode(v, bl);
       __u32 _type = (__u32)inc_type;
       ::encode(_type, bl);
       if (_type == GLOBAL_ID) {
@@ -55,6 +57,8 @@ public:
       }
     }
     void decode(bufferlist::iterator& bl) {
+      __u8 v;
+      ::decode(v, bl);
       __u32 _type;
       ::decode(_type, bl);
       inc_type = (IncType)_type;
index 5cf7da463a82f43bd347657b9afefb55766059e8..982d55b81c6ec31996b9eebf8637a82754e33da2 100644 (file)
@@ -118,6 +118,8 @@ bool ClassMonitor::update_from_paxos()
     assert(success);
 
     bufferlist::iterator p = bl.begin();
+    __u8 v;
+    ::decode(v, p);
     ClassLibraryIncremental inc;
     ::decode(inc, p);
     ClassImpl impl;
@@ -170,6 +172,8 @@ void ClassMonitor::create_pending()
 void ClassMonitor::encode_pending(bufferlist &bl)
 {
   dout(10) << "encode_pending v " << (paxos->get_version() + 1) << dendl;
+  __u8 v = 1;
+  ::encode(v, bl);
   for (multimap<utime_t,ClassLibraryIncremental>::iterator p = pending_class.begin();
        p != pending_class.end();
        p++)
index 351777450098423955a2d8d60684696cac5302e5..c53565172cc3b1b944df0f97c97c97a7d370afff 100644 (file)
@@ -120,6 +120,8 @@ bool LogMonitor::update_from_paxos()
     assert(success);
 
     bufferlist::iterator p = bl.begin();
+    __u8 v;
+    ::decode(v, p);
     while (!p.end()) {
       LogEntry le;
       le.decode(p);
@@ -179,6 +181,8 @@ void LogMonitor::create_pending()
 void LogMonitor::encode_pending(bufferlist &bl)
 {
   dout(10) << "encode_pending v " << (paxos->get_version() + 1) << dendl;
+  __u8 v = 1;
+  ::encode(v, bl);
   for (multimap<utime_t,LogEntry>::iterator p = pending_log.begin();
        p != pending_log.end();
        p++)
index 2d2b3e54f7de076494a6b86a98f13c0c26a0ec6f..ad00037e15807a1a88962aee8fdf1d46b434d161 100644 (file)
@@ -47,6 +47,8 @@ public:
     set<pg_t> pg_remove;
 
     void encode(bufferlist &bl) const {
+      __u8 v = 1;
+      ::encode(v, bl);
       ::encode(version, bl);
       ::encode(pg_stat_updates, bl);
       ::encode(osd_stat_updates, bl);
@@ -56,6 +58,8 @@ public:
       ::encode(pg_remove, bl);
     }
     void decode(bufferlist::iterator &bl) {
+      __u8 v;
+      ::decode(v, bl);
       ::decode(version, bl);
       ::decode(pg_stat_updates, bl);
       ::decode(osd_stat_updates, bl);
@@ -183,6 +187,8 @@ public:
            nearfull_ratio(CEPH_OSD_NEARFULL_RATIO) {}
 
   void encode(bufferlist &bl) {
+    __u8 v = 1;
+    ::encode(v, bl);
     ::encode(version, bl);
     ::encode(pg_stat, bl);
     ::encode(osd_stat, bl);
@@ -190,6 +196,8 @@ public:
     ::encode(last_pg_scan, bl);
   }
   void decode(bufferlist::iterator &bl) {
+    __u8 v;
+    ::decode(v, bl);
     ::decode(version, bl);
     ::decode(pg_stat, bl);
     ::decode(osd_stat, bl);