]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PG: do not blindly roll forward to log.head
authorSage Weil <sage@redhat.com>
Wed, 11 Jul 2018 01:22:49 +0000 (20:22 -0500)
committerSage Weil <sage@redhat.com>
Wed, 11 Jul 2018 22:09:39 +0000 (17:09 -0500)
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 <sage@redhat.com>
(cherry picked from commit 858ff647ff7bd1f6277823b5185ead5ffebc05b0)

src/osd/PG.cc

index 0452b0f6a46e51d7252d2b9b077d4a1491c5d6cf..60a604ae29fd6f116eafd14c3380043c6a6c63b7 100644 (file)
@@ -5319,9 +5319,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,