]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
ReplicatedPG::recover_backfill: do not update last_backfill prematurely 1826/head
authorSamuel Just <sam.just@inktank.com>
Thu, 8 May 2014 20:25:32 +0000 (13:25 -0700)
committerSamuel Just <sam.just@inktank.com>
Thu, 8 May 2014 20:35:24 +0000 (13:35 -0700)
commitd4e67ff3037a3cc7ae2ecc9e1d8d086c45ae515a
treefdc94ab1815d91adbe973533dc78484d88e21c73
parentd620b13c51fc69b509824177af32de55c89c2259
ReplicatedPG::recover_backfill: do not update last_backfill prematurely

Previously, we would update last_backfill on the backfill peer to

backfills_in_flight.empty() ? backfill_pos :
  backfills_in_flight.begin()->first

which is actually the next backfill to complete.  We want to update
last_backfill to the largest completed backfill instead.

We use the pending_backfill_updates mapping to identify the most
recently completed backfill.  Due to the previous patch, deletes
will also be included in that mapping.

Related sha1s from master:
4139e75d63b0503dbb7fea8036044eda5e8b7cf1
7a06a71e0f2023f66d003dfb0168f4fe51eaa058

We don't really want to backport those due to the changes in:
9ec35d5ccf6a86c380865c7fc96017a1f502560a

This patch does essentially the same thing, but using backfill_pos.

Fixse: #8162
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.cc