[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