[sheepdog] Is it necessary for outstanding io block leave/join event?

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Wed May 16 18:33:14 CEST 2012


At Wed, 16 May 2012 00:00:21 -0400,
Christoph Hellwig wrote:
> 
> I think the rational is to not change the cluster configuration while
> I/O is in progress.  With the vnode_info structure making the cluster
> state during and I/O operation explicit (together with hdr->epoch)
> I suspect this isn't needed any more, but I want to do a full blown
> audit of the I/O path first.

The reason is that the recovery algorithm assumes that all objects in
the older epoch are immutable, which means only the objects in the
current epoch are writable.  If outstanding I/Os update objects in the
previous epoch after they are recovered to the current epoch, their
replicas result in inconsistent state.

Thanks,

Kazutaka



More information about the sheepdog mailing list