[sheepdog] [PATCH] sheep: handle recovery request in check_request_in_recovery()

Liu Yuan namei.unix at gmail.com
Sat Jun 2 17:38:54 CEST 2012


On 06/02/2012 11:24 PM, Christoph Hellwig wrote:

> The SD_RES_OBJ_RECOVERING case absolutely needs a special case - we
> know the target sheep has the block, and it asks us to come back later.
> giving up trying to get a valid copy of the object is not a good idea.
> 


We don't need come back (in case both snap cache and working directory
don't have the requested object), our recovery algorithm will then try
to read other copies first(breadth-first), if not found, then go for
older configuration. This process will assure us of a valid copy.

Thanks,
Yuan

> What is a bit troublesome is trying to figure out how to deal with the
> fact that we might have to recover multiple oids out of order.  I think
> the best would be to add a bitmap of recovered oids to struct
> recovery_work.  As a benefit that also should allow to perform recovery
> for multiple oids in parallel and thus greatly speed it up.






More information about the sheepdog mailing list