]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson: fix mismatch between backfill's enqueue_push() and recovery.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 19 Nov 2020 16:12:38 +0000 (17:12 +0100)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 1 Dec 2020 12:22:16 +0000 (13:22 +0100)
commitea3515ded72e65603c9db72f27c824735d03faa3
treec4d4f390d54653417c6d7f577e965ab0b78479d1
parent0a6b5767f0379261466cba8044838f1e3e7923f3
crimson: fix mismatch between backfill's enqueue_push() and recovery.

The unittesting discovered an issue between `BackfillState` and
the low-layer recovery code: `RecoveryBackend::recover_object()`.
`BackfillState::enqueue_push()` was assuming it controlls also
to which backfill target the push is sent while `recover_object()`
calculated the set on its own.
Fixing this is the reason why `enqueue_push()` loses the `const
pg_shard_t& target` parameter.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/backfill_state.cc
src/crimson/osd/backfill_state.h
src/crimson/osd/pg_recovery.cc
src/crimson/osd/pg_recovery.h
src/test/crimson/test_backfill.cc