qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] [PATCH 2/2] qemu-img: info: try -U automat


From: Eric Blake
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH 2/2] qemu-img: info: try -U automatically
Date: Fri, 5 Jan 2018 10:08:18 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0

On 01/05/2018 12:55 AM, Fam Zheng wrote:
> The error message we had didn't have a hint about "-U" when locking the
> image failed, which is not friendly. Also it is imaginable that the
> reaction to that error by the user would be a retry with '-U'.
> 
> So the reason we require "-U" for "qemu-img info" if the image is used
> is to raise the awareness about what could be wrong. A warning would do
> just fine, especially since it is a little more informative.
> 
> The test case reference output is updated accordingly.
> 
> Signed-off-by: Fam Zheng <address@hidden>
> ---
>  qemu-img.c                 | 14 ++++++++++++++
>  tests/qemu-iotests/153.out |  3 +--
>  2 files changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/qemu-img.c b/qemu-img.c
> index 7d3171c20c..9684937425 100644
> --- a/qemu-img.c
> +++ b/qemu-img.c
> @@ -2605,6 +2605,20 @@ static int img_info(int argc, char **argv)
>  
>      list = collect_image_info_list(image_opts, filename, fmt, chain,
>                                     force_share, &local_err);
> +    if (!list && !force_share) {
> +        Error *local_err2 = NULL;
> +        list = collect_image_info_list(image_opts, filename, fmt, chain,
> +                                       true, &local_err2);
> +        if (list) {
> +            error_report("WARNING: --force-share (-U) is not used but it "

We have warn_report() for use in this situation (in which case, you do
not want the leading "WARNING:" in your message).

> +                         "seems the image is attached to a running guest; "
> +                         "the information may be inaccurate if it is being "
> +                         "updated.");

For consistency, I'd prefer no trailing dot.

> +            error_free(local_err);
> +        } else {
> +            error_free(local_err2);
> +        }
> +    }
>      if (!list) {
>          error_reportf_err(local_err, "Could not open '%s': ", filename);
>          return 1;
> diff --git a/tests/qemu-iotests/153.out b/tests/qemu-iotests/153.out
> index 5b917b177c..4de35184ba 100644
> --- a/tests/qemu-iotests/153.out
> +++ b/tests/qemu-iotests/153.out
> @@ -41,8 +41,7 @@ Is another process using the image?
>  no file open, try 'help open'
>  
>  _qemu_img_wrapper info TEST_DIR/t.qcow2
> -qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get shared "write" 
> lock
> -Is another process using the image?
> +qemu-img: WARNING: --force-share (-U) is not used but it seems the image is 
> attached to a running guest; the information may be inaccurate if it is being 
> updated.

and those changes tweak this line.

But the idea makes sense, so with the changes,
Reviewed-by: Eric Blake <address@hidden>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]