qemu/qapi
Jeff Cody 54e2690090 block: extend block-commit to accept a string for the backing file
On some image chains, QEMU may not always be able to resolve the
filenames properly, when updating the backing file of an image
after a block commit.

For instance, certain relative pathnames may fail, or drives may
have been specified originally by file descriptor (e.g. /dev/fd/???),
or a relative protocol pathname may have been used.

In these instances, QEMU may lack the information to be able to make
the correct choice, but the user or management layer most likely does
have that knowledge.

With this extension to the block-commit api, the user is able to change
the backing file of the overlay image as part of the block-commit
operation.

This allows the change to be 'safe', in the sense that if the attempt
to write the overlay image metadata fails, then the block-commit
operation returns failure, without disrupting the guest.

If the commit top is the active layer, then specifying the backing
file string will be treated as an error (there is no overlay image
to modify in that case).

If a backing file string is not specified in the command, the backing
file string to use is determined in the same manner as it was
previously.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Jeff Cody <jcody@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-07-01 10:47:01 +02:00
..
block-core.json block: extend block-commit to accept a string for the backing file 2014-07-01 10:47:01 +02:00
block.json qapi event: convert DEVICE_TRAY_MOVED 2014-06-23 11:12:27 -04:00
common.json qapi: Extract qapi/common.json definitions 2014-06-06 16:25:48 +02:00
event.json qapi: Change back sector-count to sectors-count in quorum QAPI events. 2014-07-01 10:15:34 +02:00
Makefile.objs qapi: add event helper functions 2014-06-23 11:01:25 -04:00
opts-visitor.c QemuOpts: change opt->name|str from (const char *) to (char *) 2014-06-16 17:23:20 +08:00
qapi-dealloc-visitor.c Revert "qapi: Clean up superfluous null check in qapi_dealloc_type_str()" 2014-05-09 09:11:32 -04:00
qapi-visit-core.c qapi: Replace uncommon use of the error API by the common one 2014-05-15 14:00:46 -04:00
qmp-dispatch.c qapi: Clean up fragile use of error_is_set() 2014-05-09 09:11:31 -04:00
qmp-event.c qapi: add event helper functions 2014-06-23 11:01:25 -04:00
qmp-input-visitor.c qapi: Replace start_optional()/end_optional() by optional() 2014-05-15 14:00:45 -04:00
qmp-output-visitor.c qapi: Avoid output visitor crashing if it encounters a NULL value 2014-05-28 17:36:04 +02:00
qmp-registry.c qemu-ga: Extend 'guest-info' command to expose flag 'success-response' 2013-10-10 14:52:37 -05:00
string-input-visitor.c qapi: fix input visitor bugs 2014-06-19 18:44:22 +03:00
string-output-visitor.c qapi/string-output-visitor: fix human output 2014-06-23 17:38:00 +03:00