From: Samuel Just Date: Fri, 7 Feb 2014 01:26:24 +0000 (-0800) Subject: PG: just ignore rollbacks on objects we have already failed to rollback X-Git-Tag: v0.78~163^2~45 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d116e55f4ac0bc04785b03c75a97fbe93f4c3155;p=ceph.git PG: just ignore rollbacks on objects we have already failed to rollback The relevant changes to missing and/or the filestore will have already been made. Signed-off-by: Samuel Just --- diff --git a/src/osd/PG.h b/src/osd/PG.h index 43395cb263670..2ff9e164d0cc3 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -664,7 +664,12 @@ public: to_remove.insert(hoid); } void rollback(const pg_log_entry_t &entry) { - assert(!cannot_rollback.count(entry.soid)); + if (cannot_rollback.count(entry.soid)) { + /* we already failed to rollback a previous item + * and made the appropriate adjustments to the + * missing set and/or store */ + return; + } to_rollback[entry.soid].push_back(entry); } void cant_rollback(const pg_log_entry_t &entry) {