At Wed, 28 Aug 2013 10:46:47 +0900,
MORITA Kazutaka wrote:
> 
> From: MORITA Kazutaka <[email protected]>
> 
> There is a race condition like as follows:
> 
>  1. Node A, B, and C start up.
>  2. Node A receives accept events from B and C, and calls
>     start_recovery().
>  3. Node A calls wait_get_vdis_done in the recovery thread, but there
>     are two get_vdis works in sys->block_wqueue.
>  4. When the first get_vdis_done() is called, is_vdi_list_ready will
>     be set to false.
>  5. Node A starts object recovery without receiving vdi state from C.
> 
> To fix the problem, this patch counts the number of get_vdi works in
> the block_wqueue.
> 
> Signed-off-by: MORITA Kazutaka <[email protected]>
> ---
> 
> I think this should go into the stable branch, too.

Looks good to me.
Reviewed-by: Hitoshi Mitake <[email protected]>

I'll push it to stable branches later.

Thanks,
Hitoshi
-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to