Changes from v5->v6: * Check for attempt to commit an image to itself (Eric) * Add a comment to the bdrv_find for block-commit, indicating that libvirt uses the error case for probing (Eric) * Added Benoit's R-b's
Changes from v4->v5: * Rebased on master * Fixed commit log typos / stale paragraphs (Eric) * Fixed comment typo (Eric) * Added Eric's remaining R-b's Changes from v3->v4: * Rebased on master * Dropped overlay pointers, Eric's concerns are correct * Require "device" for all arguments, in light of the above, so we can find the active layer in all cases. * Simplify more operations! * Dropped Eric's Reviewed-by: on patches 3,5,6 Added Eric's Reviewed-by: on patches 8,9 Changes from v2->v3: * Add Eric's reviewed-by * Addressed Eric's review comments * Dropped HMP changes * Added helper function for setting the overlay, and set the overlay in bdrv_append() * Use bs->backing_file instead of bs->backing_hd->filename in block_stream Using node-names instead of filenames for block job operations over QMP is a superior method of identifying the block driver images to operate on, as it removes all pathname ambiguity. This series modifies block-commit and block-stream to use node-names, and creates a new QAPI command to allow stand-alone backing file changes on an image file. So that node-names can be used as desired for all block job operations, this series also auto-generates node-names for every BDS. User-specified node-names will override any autogenerated Jeff Cody (10): block: Auto-generate node_names for each BDS entry block: add helper function to determine if a BDS is in a chain block: simplify bdrv_find_base() and bdrv_find_overlay() block: make 'top' argument to block-commit optional block: Accept node-name arguments for block-commit block: extend block-commit to accept a string for the backing file block: add ability for block-stream to use node-name block: add backing-file option to block-stream block: Add QMP documentation for block-stream block: add QAPI command to allow live backing file change block.c | 80 ++++++++-------- block/commit.c | 9 +- block/stream.c | 11 +-- blockdev.c | 238 ++++++++++++++++++++++++++++++++++++++++++---- hmp.c | 1 + include/block/block.h | 4 +- include/block/block_int.h | 3 +- qapi/block-core.json | 145 +++++++++++++++++++++++++--- qmp-commands.hx | 181 +++++++++++++++++++++++++++++++++-- tests/qemu-iotests/040 | 28 ++++-- 10 files changed, 602 insertions(+), 98 deletions(-) -- 1.9.3