messages, os, osd: Clean-up g/hobject_t MAX handling

Add check of is_max() before updating an unset pool
Use efficient is_max() instead of compare with hobject::get_max()

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Interim working version with backfill reserve state changes

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Change waiting_on_backfill to a set<int>

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Interim backfill changes

Make peer_backfill_info a map which holds a
BackfillInterval for all backfill targets.
Initially see if recover_backfill() can just backfill
the first one and mark them all finished.

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Implement multiple backfill target handling

Fixes: #5858

Signed-off-by: David Zafman <david.zafman@inktank.com>
Fix do_op() logic (will squash)
Fixes based on some of the code review comments
Fix for targ/src multiop
Fix all_peer_done() (renamed) so we terminate backfill correctly
Recovery reservations need to include backfill peers

Caused by 86e4fd4f7a9848511e1bf9ae433fcd3a35a0818f

Signed-off-by: David Zafman <david.zafman@inktank.com>
More code review changes