Previous attempt to extend blockdev-snapshot-sync: https://lists.gnu.org/archive/html/qemu-block/2015-08/msg00236.html
As discussed in the previous thread, this adds a new command called 'blockdev-snapshot', that simply takes references to two existing block devices. I decided to share most of the implementation with the previous 'blockdev-snapshot-sync' since the only differences are in the 'prepare' step. The tests are missing, but I wanted to know first if you are otherwise OK with this approach. If the patches look good I'll write the tests next week. These patches apply on top of two series from Max: - This one allows creating BDS that are not attached to a BlockBackend https://lists.gnu.org/archive/html/qemu-block/2015-07/msg00382.html - This one drops the drv parameter from bdrv_open(), which was preventing us from creating snapshots of images opened with custom runtime options: https://lists.gnu.org/archive/html/qemu-block/2015-08/msg00189.html You cannot apply these two series cleanly on top of each other, so if you want to try my patches without having to merge everything manually, you can get the whole thing here: https://github.com/bertogg/qemu/commits/blockdev-snapshot Comments are welcome! Berto Alberto Garcia (2): block: rename BlockdevSnapshot to BlockdevSnapshotSync block: add a 'blockdev-snapshot' QMP command blockdev.c | 156 ++++++++++++++++++++++++++++++++------------------- qapi-schema.json | 3 +- qapi/block-core.json | 32 ++++++++++- qmp-commands.hx | 28 +++++++++ 4 files changed, 158 insertions(+), 61 deletions(-) -- 2.5.1