From: Samuel Just Date: Fri, 15 Feb 2013 01:45:35 +0000 (-0800) Subject: PG: verify log versions during read_log X-Git-Tag: v0.58~53^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=16b371873f004ec6eb6e4a72ee1af0872ab11657;p=ceph.git PG: verify log versions during read_log Signed-off-by: Samuel Just --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 2bebff3d72e0..43a20f890d85 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -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; }