OSDService: add too_full_for_backfill

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: use OSDService::too_full_for_backfill in RepWaitBackfillReserved

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: add helper for rejecting backfill reservation

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: add BackfillTooFull event for RepRecovering

Replica will use this to notify Primary to stop backfilling.

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: add helper for adding a timer event to retry backfill

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: halt backfill on RemoteReservationRejected in Backilling

Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG: replica should post BackfillTooFull in do_scan if full

Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG: add debug flag to skip full check at reservation

This will make it easier to test the check in do_scan.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Merge remote-tracking branch 'upstream/wip_4435'

Fixes: #4435
Reviewed-by: David Zafman <david.zafman@inktank.com>