[sheepdog] [PATCH] sheep: remove block/unblock callbacks

Christoph Hellwig hch at infradead.org
Wed Jun 6 16:02:50 CEST 2012


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.




More information about the sheepdog mailing list