[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v9 11/11] migration: introduce snapshot-{save, load, delete}
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v9 11/11] migration: introduce snapshot-{save, load, delete} QMP commands |
Date: |
Wed, 20 Jan 2021 15:39:36 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Daniel P. Berrangé <berrange@redhat.com> writes:
> savevm, loadvm and delvm are some of the few HMP commands that have never
> been converted to use QMP. The reasons for the lack of conversion are
> that they blocked execution of the event thread, and the semantics
> around choice of disks were ill-defined.
>
> Despite this downside, however, libvirt and applications using libvirt
> have used these commands for as long as QMP has existed, via the
> "human-monitor-command" passthrough command. IOW, while it is clearly
> desirable to be able to fix the problems, they are not a blocker to
> all real world usage.
>
> Meanwhile there is a need for other features which involve adding new
> parameters to the commands. This is possible with HMP passthrough, but
> it provides no reliable way for apps to introspect features, so using
> QAPI modelling is highly desirable.
>
> This patch thus introduces new snapshot-{load,save,delete} commands to
> QMP that are intended to replace the old HMP counterparts. The new
> commands are given different names, because they will be using the new
> QEMU job framework and thus will have diverging behaviour from the HMP
> originals. It would thus be misleading to keep the same name.
>
> While this design uses the generic job framework, the current impl is
> still blocking. The intention that the blocking problem is fixed later.
> None the less applications using these new commands should assume that
> they are asynchronous and thus wait for the job status change event to
> indicate completion.
>
> In addition to using the job framework, the new commands require the
> caller to be explicit about all the block device nodes used in the
> snapshot operations, with no built-in default heuristics in use.
>
> Note that the existing "query-named-block-nodes" can be used to query
> what snapshots currently exist for block nodes.
>
> Acked-by: Markus Armbruster <armbru@redhat.com>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Looks good to me, my Acked-by stands.
- [PATCH v9 06/11] block: rename and alter bdrv_all_find_snapshot semantics, (continued)
- [PATCH v9 06/11] block: rename and alter bdrv_all_find_snapshot semantics, Daniel P . Berrangé, 2021/01/20
- [PATCH v9 05/11] block: allow specifying name of block device for vmstate storage, Daniel P . Berrangé, 2021/01/20
- [PATCH v9 08/11] migration: wire up support for snapshot device selection, Daniel P . Berrangé, 2021/01/20
- [PATCH v9 09/11] migration: introduce a delete_snapshot wrapper, Daniel P . Berrangé, 2021/01/20
- [PATCH v9 10/11] iotests: add support for capturing and matching QMP events, Daniel P . Berrangé, 2021/01/20
- [PATCH v9 11/11] migration: introduce snapshot-{save, load, delete} QMP commands, Daniel P . Berrangé, 2021/01/20