]> 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 21:15:49 +0000 (16:15 -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>
src/osd/PG.cc

index 10e3581aa56f7f231d54bef973b4c339fea21718..0f0e644f2280cef5ce09b5b77fef498da8af8cd5 100644 (file)
@@ -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,