On 04/22/2010 09:49 PM, Anthony Liguori wrote:
> real API. Say, adding a device libvirt doesn't know about or
stopping
> the VM
> while libvirt thinks it's still running or anything like that.
Another problem is issuing Monitor commands that could confuse
libvirt's
We need to make libvirt and qemu smarter.
We already face this problem today with multiple libvirt users. This
is why sophisticated management mechanisms (like LDAP) have mechanisms
to do transactions or at least a series of atomic operations.
And people said qmp/json was overengineered...
But seriously, transactions won't help anything. qemu maintains state,
and when you have two updaters touching a shared variable not excepting
each other to, things break, no matter how much locking there is. The
only way that separate monitors could work is if they touch completely
separate state, which is difficult to ensure if you upgrade your libvirt.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.