[Sheepdog] [PATCH 1/2] sheep: sheep: handle node change event first

Liu Yuan namei.unix at gmail.com
Sun Apr 1 08:06:54 CEST 2012


On 04/01/2012 01:59 PM, MORITA Kazutaka wrote:

> 'join C' is processed after there is no outstanding I/Os.
> 


Okay, I see the race.

can we remove this line in start_cpg_event_work()

        if (is_membership_change_event(cevent->ctype) &&
sys->nr_outstanding_io)
                return;

Thanks,
Yuan

> https://github.com/collie/sheepdog/blob/master/sheep/group.c#L1181
> 
> So start_cpg_event_work() cannot guarantee that sheep processes 'join
> C' before 'join D' if sheep adds 'join D' event to the head of
> cpg_event_siblings, which includes 'join C' event.





More information about the sheepdog mailing list