On 9/17/19 10:49 AM, Peter Krempa wrote: > savevm was buggy as it considered all monitor owned block device nodes > for snapshot. With introduction of -blockdev the common usage made all > nodes including protocol nodes monitor owned and thus considered for > snapshot. This was fixed but clients need to be able to detect whether > this fix is present. > > Since savevm does not have an QMP alternative add the feature for the > 'human-monitor-command' backdoor which is used to call this command in > modern use. > > Signed-off-by: Peter Krempa <pkre...@redhat.com> > --- > qapi/misc.json | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/qapi/misc.json b/qapi/misc.json > index 6bd11f50e6..e2b33c3f8a 100644 > --- a/qapi/misc.json > +++ b/qapi/misc.json > @@ -1020,6 +1020,11 @@ > # > # @cpu-index: The CPU to use for commands that require an implicit CPU > # > +# Features: > +# @savevm-blockdev-monitor-nodes: If present, the savevm monitor command > +# correctly handles monitor owned block nodes > +# when taking a snapshot.
Is it worth adding a '(since 4.2)' on when features are added? > +# > # Returns: the output of the command as a string > # > # Since: 0.14.0 > @@ -1047,7 +1052,8 @@ > ## > { 'command': 'human-monitor-command', > 'data': {'command-line': 'str', '*cpu-index': 'int'}, > - 'returns': 'str' } > + 'returns': 'str', > + 'features' : [ { 'name': 'savevm-blockdev-monitor-nodes' } ] } We could, of course, actually implement a QMP 'savevm' and use _that_ as the introspection. But that's a bigger can of worms, so this is reasonable enough for the 4.2 timeframe. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature