]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osdmap: decode old osdmaps prior to pool_max stuff
authorSage Weil <sage@newdream.net>
Tue, 16 Feb 2010 23:59:09 +0000 (15:59 -0800)
committerSage Weil <sage@newdream.net>
Tue, 16 Feb 2010 23:59:09 +0000 (15:59 -0800)
src/osd/OSDMap.h

index cfa28135b76612b8c5ac5b61941b097b4fc54167..16aca0dde61b678a9d433285858b6fb6e60c9e03 100644 (file)
@@ -198,7 +198,8 @@ public:
       ::decode(fsid, p);
       ::decode(epoch, p);
       ::decode(modified, p);
-      ::decode(new_pool_max, p);
+      if (v >= 4)
+       ::decode(new_pool_max, p);
       ::decode(new_flags, p);
       ::decode(fullmap, p);
       ::decode(crush, p);
@@ -606,8 +607,15 @@ private:
     ::decode(created, p);
     ::decode(modified, p);
 
+    int32_t max_pools;
+    if (v < 4) {
+      ::decode(max_pools, p);
+    }
     ::decode(pools, p);
-    ::decode(pool_max, p);
+    if (v >= 4)
+      ::decode(pool_max, p);
+    else
+      pool_max = max_pools;
 
     ::decode(flags, p);