[Sheepdog] [PATCH 1/2] sheep: sheep: handle node change event first
MORITA Kazutaka
morita.kazutaka at gmail.com
Sun Apr 1 08:21:17 CEST 2012
At Sun, 01 Apr 2012 14:06:54 +0800,
Liu Yuan wrote:
>
> 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;
No, Sheepdog assumes that the older epoch directories are read-only
(especially in recovery codes), so we need to flush all I/Os before
updating an epoch. I think it is much harder to remove this line than
introducing two queues.
Thanks,
Kazutaka
More information about the sheepdog
mailing list