Eric Blake <ebl...@redhat.com> writes: > On 07/29/2014 12:12 AM, Markus Armbruster wrote: > >>> Libvirt probably won't use it for normal guests (we don't want to kill >>> qemu just because the monitor disconnects), but does have the notion of >>> an autodestroy guest where it might be useful (we WANT the guest to go >>> away if libvirtd dies early). In fact, autodestroy guests are used >>> during migration - we want to kill qemu on the destination side if >>> libvirtd dies before the source side finishes sending the migration >>> stream. But in that scenario, once migration succeeds, libvirt has to >>> be able to convert an autodestroy guest back into a normal guest that no >>> longer disappears when libvirtd does; would this be something that QMP >>> can toggle the state of this attribute on the fly? Perhaps through qom-set? >> >> After migration completes, execution moves from source to target. >> Wouldn't you want to switch off target auto-destruct together with that >> move, atomically? > > Libvirt starts the destination with -S, and migration can't complete > until libvirt resumes the destination CPUs with 'cont'. Libvirt's > current timing of releasing auto-destruct is based on handshaking > between source and destination; it occurs after source claims migration > is done but before resuming CPUs on the destination, which satisfies the > atomicity that you correctly observed to be necessary.
Makes sense, thanks. >>> However, we also have precedence of actions in QAPI that are very >>> unlikely to be used outside of qtest, but which are not marked >>> experimental; for example, the 'Abort' action in 'transaction' will >>> probably never be used by libvirt >> >> Arguably not a conscious decision to make it ABI forever, more a case of >> nobody thought about *not* making it ABI :) > > Added in June 2013; and we *did* have a discussion on whether to hide > the transaction name at the time... > https://lists.gnu.org/archive/html/qemu-devel/2013-06/msg03281.html I stand corrected. >> I don't really mind this instance, but I'm a bit concerned about rank >> ABI growth. > > And that's a good position to maintain - it's always good to justify new > knobs, especially since once they are ABI, it's harder to refactor > around them. Exactly.