SIGN IN SIGN UP

crimson/osd: discard stale primary backfill scan after backfill finishes

do_request_primary_scan() is an async coroutine.  Backfill can complete
(and on_pg_clean() can destroy backfill_state) while the coroutine is
suspended in scan_for_backfill_primary(), e.g. waiting on an object
context load.  Resuming and delivering PrimaryScanned then dereferences
a null backfill_state.

Discard the scan result if backfill_state is gone; the backfill has
already finished successfully.

Fixes: https://tracker.ceph.com/issues/77623
Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
K
Kautilya Tripathi committed
7b214cba9a04048d6353e1fe29be244e781ca433
Parent: d73bf27