[libvirt] Question about fsfreeze/fsthaw API

Daniel P. Berrange berrange at redhat.com
Fri Nov 8 05:25:10 UTC 2013


On Thu, Nov 07, 2013 at 10:39:08AM -0700, Eric Blake wrote:
> On 11/06/2013 05:31 PM, Tomoki Sekiyama wrote:
> > Hi all,
> > 
> > Is there any plans to add APIs to execute fsfreeze/fsthaw in qemu guests?
> > (something like virDomainFSFreeze(domain,timeout,flags) and
> >                 virDomainFSThaw(domain,timeout,flags))
> 
> I'm wondering if it might be better to have a single command with a
> callback argument, something like:
> 
> virDomainQuiese(domain, timeout, callback, opaque, flags)
> 
> which calls callback(domain, opaque) at the right point in time.  I'm
> just a bit worried that since the freeze/thaw sequence is already
> handled as a pair by the QUIESCE flag of snapshot creation that exposing
> it as two non-atomic APIs may lead to inconsistent states that we'd have
> a hard time tracking which commands are allowed in which state.  With
> only a single command and a callback, we have guaranteed semantics that
> all other API are locked out by our normal job mechanism, and that we
> can pair the freeze/thaw under the hood just as we do in snapshots.

I don't see how 'callback' is going to work, since it would have
to run client side, but everything else is server side. I'm not
entirely comfortable with the callback idea in general for that - it
seems it could create alot of "interesting" scenarios for us to worry
about, in particular around re-entrancy & synchronization.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list