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