[sheepdog] [PATCH v4 08/12] gateway: don't skip start_recovery for gateway-only node

Liu Yuan namei.unix at gmail.com
Tue May 28 06:37:46 CEST 2013


On 05/28/2013 11:54 AM, MORITA Kazutaka wrote:
> At Tue, 28 May 2013 11:39:37 +0800,
> Liu Yuan wrote:
>>
>> On 05/28/2013 11:36 AM, MORITA Kazutaka wrote:
>>> What we need is making sure that the gateway has vdi copy list before
>>> processing I/O requests.  Calling wait_get_vdis_done() in the recovery
>>> thread doesn't help it, so the gateway doesn't have to call
>>> prepare_object_list() at all.
>>
>> Yeah, so where should call wait_get_vdis_done()? fixing
>> wait_get_vdis_done with removing prepare list from gateway only node in
>> a single patch looks conflicted to the patch separation policy.
> 
> I think the current code doesn't guarantee that the gateway has vdi
> copy list before processing I/O requests, either.  Is it correct?
> 
> If yes, we need two fixes:
> 
>  - The gateway must notify recovery completion.
>  - The gateway must have vdi copy list before processing I/Os.
> 
> To fix the first one, the gateway doesn't need to gather object list.
> This is what I meant.
> 

Ah, I see. But get_vdis() should be quit fast and more importantly users
will get a 'no vdi found' error to run vdis before get_vdis() done, then
users can try again until success. So second issue doesn't look a
problem to me.

Thanks,
Yuan




More information about the sheepdog mailing list