[libvirt] Re: [Qemu-devel] [PATCH 1/6] Allow multiple monitor devices (v2)

Avi Kivity avi at redhat.com
Tue Apr 14 09:38:54 UTC 2009

Daniel P. Berrange wrote:
> On Tue, Apr 14, 2009 at 12:15:23PM +0300, Avi Kivity wrote:
>> Daniel P. Berrange wrote:
>>> Yes indeed its a little crazy :-)  As anthony mentioned if libvirt were 
>>> able to be notified of changes a user makes in the monitor, there's no 
>>> reason we could not allow end users to access the monitor of a VM 
>>> libvirt is managing. We just need to make sure libvirt doesn't miss
>>> changes like attaching or detaching block devices, etc, because that'll
>>> cause crash/data loss later when libvirt migrates or does save/restore,
>>> etc because it'll launch QEMU with wrong args
>> You still have an inherent race here.
>> user: plug in disk
>> libvirt: start migration, still without disk
>> qemu: libvirt, a disk has been plugged in.
> That is true, but we'd still be considering direct monitor access to
> be a 'expert' user mode of use. If they wish to shoot themselves in
> the foot by triggering a migration at same time they are hotplugging
> I'm fine if their whole leg gets blown away.  

What if the system triggers migration automatically (as you'd expect).

And that's just one example. I'm sure there are more. libvirt issues 
commands expecting some state in qemu. It can't learn of that state from 
listening on another monitor, because there are delays between the state 
changing and the notification.

If you want things to work reliably, you have to follow the chain of 

I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

More information about the libvir-list mailing list