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.
|
|