[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