From: Sage Weil Date: Wed, 11 Jul 2018 01:22:49 +0000 (-0500) Subject: osd/PG: do not blindly roll forward to log.head X-Git-Tag: v14.0.1~891^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=858ff647ff7bd1f6277823b5185ead5ffebc05b0;p=ceph.git osd/PG: do not blindly roll forward to log.head If we are told we can roll forward by the primary, we should only roll forward as far as the primary says we can. This probably came out of the similar case in append_log(), but notably that roll_forward() only happens if !transaction_applied (i.e., backfill target), and that condition is not checked here. Fixes: http://tracker.ceph.com/issues/24597 Signed-off-by: Sage Weil --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 10e3581aa56f..0f0e644f2280 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -5587,9 +5587,6 @@ bool PG::append_log_entries_update_missing( assert(entries.begin()->version > info.last_update); PGLogEntryHandler rollbacker{this, &t}; - if (roll_forward_to) { - pg_log.roll_forward(&rollbacker); - } bool invalidate_stats = pg_log.append_new_log_entries(info.last_backfill, info.last_backfill_bitwise,