On 10/22/2014 06:51 AM, Max Reitz wrote:
> qemu-img should use QMP commands whenever possible in order to ensure
> feature completeness of both online and offline image operations. As
> qemu-img itself has no access to QMP (since this would basically require
> just everything being linked into qemu-img), imitate QMP's
> implementation of block-commit by using commit_active_start() and then
> waiting for the block job to finish.
> 
> Signed-off-by: Max Reitz <mre...@redhat.com>
> ---
>  block/Makefile.objs |  3 +-
>  qemu-img.c          | 82 
> ++++++++++++++++++++++++++++++++++++++++-------------
>  2 files changed, 64 insertions(+), 21 deletions(-)
> 

> +done:
>      blk_unref(blk);
> -    if (ret) {
> +
> +    if (local_err) {
> +        qerror_report_err(local_err);
> +        error_free(local_err);
>          return 1;

Igor has a patch that simplifies this style of cleanup:
https://lists.gnu.org/archive/html/qemu-devel/2014-10/msg01992.html

But it does so by using exit(1) instead of return 1, not to mention that
there are probably a lot of places in qemu-img.c that could be similarly
cleaned at the same time as a separate patch.

So for this patch, as-is,
Reviewed-by: Eric Blake <ebl...@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to