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 <[email protected]> > --- > 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 <[email protected]>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
