Skip to content

HMP/snapshot changes - do not use ID anymore

Daniel Henrique Barboza qemu-devel 3 versions – Applied

Status from this message: Thanks, applied to the block branch.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest3 patches 6 repliesApplied
  2. v23 patches 39 repliesSuperseded
  3. v1 RFC2 patches 6 repliesSuperseded

Changes in v3 from the cover letter

- rebased to v3.1.0-rc0 tag
- hmp-commands.hx documentation now mentions the change of semantics starting version 3.2.
- previous version link:
http://lists.nongnu.org/archive/html/qemu-devel/2018-09/msg00629.html

Patches in v3 Applied

#Subject and filesSizeRepliesApplied
1/3block/snapshot.c: eliminate use of ID input in snapshot operationsblock/snapshot.c hmp-commands.hx+23 -143 replies
2/3block/snapshot: remove bdrv_snapshot_delete_by_id_or_nameblock/snapshot.c include/block/snapshot.h qemu-img.c+11 -270 replies
3/3qcow2-snapshot: remove redundant find_snapshot_by_id_and_name callblock/qcow2-snapshot.c+0 -50 replies

Reviews trailers per patch

1 of 3 patches has a Reviewed-by or Acked-by.

PatchDr. David Alan Gilbert
1/3A-b
2/3
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [Qemu-devel] [PATCH for-3.2 v3 0/3] HMP/snapshot changes - do not use ID anymore

changes in v3:
- rebased to v3.1.0-rc0 tag
- hmp-commands.hx documentation now mentions the change of semantics starting version 3.2.
- previous version link:
http://lists.nongnu.org/archive/html/qemu-devel/2018-09/msg00629.html

It is not uncommon to see bugs being opened by testers that attempt to create VM snapshots using HMP. It turns out that "0" and "1" are quite common snapshot names and they trigger a lot of bugs. I gave an example in the commit message of patch 1, but to sum up here: QEMU treats the input of savevm/loadvm/delvm sometimes as 'ID', sometimes as 'name'. It is documented as such, but this can lead to strange situations.

Given that it is strange for an API to consider a parameter to be 2 fields at the same time, and inadvently treating them as one or the other, and that removing the ID field is too drastic, my idea here is to keep the ID field for internal control, but do not let the user set it.

This series simplifies the meaning of savevm/loadvm/delvm to be up to par to what the QEMU code (and Libvirt) is already doing: snapshot operations using "tag" semantics only, leaving the "id" to be automatically calculated by the block drivers and used internally only.

This change of semantics does not affect existing snapshots. What changes is that any HMP operations with them will use the updated semantics.

Daniel Henrique Barboza (3):
block/snapshot.c: eliminate use of ID input in snapshot operations block/snapshot: remove bdrv_snapshot_delete_by_id_or_name
qcow2-snapshot: remove redundant find_snapshot_by_id_and_name call

 block/qcow2-snapshot.c   |  5 -----
 block/snapshot.c         | 25 +++----------------------
 hmp-commands.hx          | 32 ++++++++++++++++++++------------
 include/block/snapshot.h |  3 ---
 qemu-img.c               | 15 +++++++++++----
 5 files changed, 34 insertions(+), 46 deletions(-)
Signature · 1 line
2.17.2