On 06/06/2012 10:02 PM, Christoph Hellwig wrote: > 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. > Okay, sounds reasonable. Let's re-visit this patch when the potential bitmap issue is fixed. Thanks, Yuan |