ceph/ceph — pull request #2383 by altnti (2014-09-03 08:28:43+00:00)
Title: fix osd crash

the primary do backfill that some replica's disk is full so it reply reject when do scan,
in this case primary transit to NotBackfilling from Backfilling and
add timer to trigger backfill in next internal.
time out trigger the primary do next backill and will send MBackfillReserve message to replica again,
but some replica still in RepRecovering state that it can't react RequestBackfillPrio event,
finally osd crash.

state change:
primary: Backfilling -> NotBackfilling -> WaitLocalBackfillReserved -> WaitRemoteBackfillReserved
replica: RepRecovering -> Crashed

in other case can trigger this crash etc.

Signed-off-by: zhenbiao chen