]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: verify log versions during read_log
authorSamuel Just <sam.just@inktank.com>
Fri, 15 Feb 2013 01:45:35 +0000 (17:45 -0800)
committerSamuel Just <sam.just@inktank.com>
Fri, 15 Feb 2013 19:22:19 +0000 (11:22 -0800)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PG.cc

index 2bebff3d72e0c27f37516eaffb8173989b72e1ae..43a20f890d853dbd447a2ca082f253d5a091e0ff 100644 (file)
@@ -5080,6 +5080,11 @@ bool PG::read_log(ObjectStore *store, coll_t coll, hobject_t log_oid,
       pg_log_entry_t e;
       e.decode_with_checksum(bp);
       dout(20) << "read_log " << e << dendl;
+      if (!log.log.empty()) {
+       pg_log_entry_t last_e(log.log.back());
+       assert(last_e.version.version == e.version.version - 1);
+       assert(last_e.version.epoch <= e.version.epoch);
+      }
       log.log.push_back(e);
       log.head = e.version;
     }