Hi, here's version 3 of the patchset that adds the 'blockdev-snapshot' QMP command. This one has a couple of important fixes plus some of the corrections suggested by Eric.
The most controversial change, I believe, is the addition of the 'ignore-backing' field to BlockdevOptionsGenericCOWFormat. This allows opening an image using 'blockdev-add' but not its backing chain. I expect that this will generate some debate so decided to go for a simple solution that would allow me to finish the rest of the series, but I'm of course open to go for an alternative API/solution. Regards, Berto v3: - Add 'ignore-backing' field to BlockdevOptionsGenericCOWFormat. This allows opening images but not their backing images. - Check for op blockers in the snapshot node and make sure that it doesn't have any backing image. - Remove extra check for the existence of the snapshot node: bdrv_open() already does that. - Extend iotest 085 to add tests for 'blockdev-snapshot'. - Replace local_err with errp in some places where the former is unnecessary. - Update command description. - Add 'since' tag to the 'blockdev-snapshot' field in TransactionAction. v2: https://lists.gnu.org/archive/html/qemu-block/2015-09/msg00094.html - Add 'blockdev-snapshot' command instead of allowing passing options to 'blockdev-snapshot-sync'. - Rename BlockdevSnapshot to BlockdevSnapshotSync v1: https://lists.gnu.org/archive/html/qemu-block/2015-08/msg00236.html Alberto Garcia (4): block: rename BlockdevSnapshot to BlockdevSnapshotSync block: Add 'ignore-backing' field to BlockdevOptionsGenericCOWFormat block: add a 'blockdev-snapshot' QMP command block: add tests for the 'blockdev-snapshot' command block.c | 5 ++ blockdev.c | 165 ++++++++++++++++++++++++++++----------------- qapi-schema.json | 4 +- qapi/block-core.json | 38 +++++++++-- qmp-commands.hx | 29 ++++++++ tests/qemu-iotests/085 | 97 ++++++++++++++++++++++++-- tests/qemu-iotests/085.out | 34 +++++++++- 7 files changed, 298 insertions(+), 74 deletions(-) -- 2.5.1