On Wed, Jun 06, 2012 at 09:56:00PM +0800, Liu Yuan wrote: > > That why I said I like the approch, but issues like the one above need > > to be carefully audited and fixed. > > > > > Yes, but I can't come up with an easy fix for concurrent VDI creation of > the same name inside sheep and the upper software is at a much better > place to handle it. I don't think it is. It means you can't ever use sheepdog in a distributed environment without a nanny-like higher level, which is totally unacceptable. I have an idea for management of the VDI bitmap, which basically requires: (a) factoring the VDI bitmap implementation into a separate small abstraction. E.g. instead of making the whole VDI creation a blocking operation just grab the VDI inuse bit first, then actually create it and release the inuse flag if it fails (b) move the now nicely separate option into the cluster driver. For corosync it probably means a fairly similar scheme to what we do now, but for zookeeper atomic access to a node is actually part of the concept, so it could be a lot simpler. I think this is a bit too much work before the June release, but I'm happy to work on it after that. I'd also very much welcome not breaking the existing semantics in fundamental ways until then. |