[sheepdog] [PATCH, RFC] sheep: send the vdi inuse bitmap in the join message

MORITA Kazutaka morita.kazutaka at gmail.com
Wed May 23 20:42:35 CEST 2012


At Wed, 23 May 2012 14:12:14 -0400,
Christoph Hellwig wrote:
> 
> Currently the post-join even handler tries to contact one or more sheep
> to get the current vdi inuse bitmap.  In addition to adding network round
> trips this has the problem that we need to properly block all vdi lookups
> until this work has completed, which doesn't work properly, as well as
> writing to the vdi bitmap both from the event worker thread as well as
> the main thread.
> 
> The simples fix (so simple that it removes 90 lines of code) is add the vdi
> inuse bitmap to the join message, and simply use the bitmap from the join
> message in any newly joining node.  The downside is that this increases the
> size of the join message by a large amount, which I'm requires increasing
> the size of the event buffer.
> 
> So far I've only tested this with the local driver as my test cluster is
> busy, but I'd love to get some feedback on this design.

IIRC, the maximum size of data corosync can multicast is less than
1 MB.  I think it's worth a try to support sending a large join
message with multiple corosync multicasts in the cluster driver.

The other cluster driver would work with the design, I think.

Thanks,

Kazutaka



More information about the sheepdog mailing list