osd: fix filestore perf stats update

Update the struct we are about to send, not the (unlocked!) one we will
send the next time around.

Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
common/AsyncReserver: add a min_priority knob

To do reserve items that are < the min priority.  Default to 0.

Signed-off-by: Sage Weil <sage@inktank.com>
osd: add osd_min_recovery_priority tunable

Add a tunable to control the minimum priority recovery item that we will
grant a reservation for.  The priority is lower for less-degraded PGs.
This allows a saavy admin to only backfill the least-redundant PGs.

Signed-off-by: Sage Weil <sage@inktank.com>
osd: move osd_stat into OSDService

Signed-off-by: Sage Weil <sage@inktank.com>
osd: prioritize backfill based on *how* degraded

Instead of prioritizing all degraded PGs equally, prioritize those that
have the fewest acting members (the most degraded).

Drop the priority constants.

Define our max priority independently of AsyncReserver, which uses a host
unsigned.

Signed-off-by: Sage Weil <sage@inktank.com>