[sheepdog] read/write during recovery

Dietmar Maurer dietmar at proxmox.com
Wed Jul 25 08:16:36 CEST 2012


> >> My naïve patch looks like this (can be optimized further):
> 
> >IIUC, your patch does not handle write requests because write
> >journaling is not implemented yet, yes?  I think it is not easy to
> >implement journaling across nodes.  Do you have any ideas to implement
> >it simply?
> 
> The idea is to simply discard those write request. We can do that, because
> there is at least one node which has data locally, and that node applies all
> writes (we sync data from that node later).
> 
> The only problem is a race condition, because gateway node does not update
> all copies at the same time. But we can solve that by other means.

After review the patch, I can see that we can't simple return SD_RES_OBJ_RECOVERING, because
the gateway would retry the request (which is not needed). Instead, we should return SUCCESS when
oid_in_recovery() but object is not recovered yet (or something similar, so that gateway does 
not retry request).







More information about the sheepdog mailing list