qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all


From: Kevin Wolf
Subject: Re: [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all image formats
Date: Tue, 14 Jul 2020 10:33:56 +0200

Am 10.07.2020 um 14:41 hat Kevin Wolf geschrieben:
> Am 10.07.2020 um 14:33 hat Peter Maydell geschrieben:
> > On Fri, 10 Jul 2020 at 13:17, Kevin Wolf <kwolf@redhat.com> wrote:
> > >
> > > QEMU 2.11 introduced the --shrink option for qemu-img resize to avoid
> > > accidentally shrinking images (commit 4ffca8904a3). However, for
> > > compatibility reasons, it was not enforced for raw images yet, but only
> > > a deprecation warning was printed. This warning has existed for long
> > > enough that we can now finally require --shrink for raw images, too, and
> > > error out if it's not given.
> > >
> > > Documentation already describes the state as it is after this patch.
> > >
> > > Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> > > ---
> > >  qemu-img.c | 17 +++--------------
> > >  1 file changed, 3 insertions(+), 14 deletions(-)
> > >
> > > diff --git a/qemu-img.c b/qemu-img.c
> > > index e3b2ec3e78..f6a2703039 100644
> > > --- a/qemu-img.c
> > > +++ b/qemu-img.c
> > > @@ -4011,20 +4011,9 @@ static int img_resize(int argc, char **argv)
> > >      }
> > >
> > >      if (total_size < current_size && !shrink) {
> > > -        warn_report("Shrinking an image will delete all data beyond the "
> > > -                    "shrunken image's end. Before performing such an "
> > > -                    "operation, make sure there is no important data 
> > > there.");
> > > -
> > > -        if (g_strcmp0(bdrv_get_format_name(blk_bs(blk)), "raw") != 0) {
> > > -            error_report(
> > > -              "Use the --shrink option to perform a shrink operation.");
> > > -            ret = -1;
> > > -            goto out;
> > > -        } else {
> > > -            warn_report("Using the --shrink option will suppress this 
> > > message. "
> > > -                        "Note that future versions of qemu-img may 
> > > refuse to "
> > > -                        "shrink images without this option.");
> > > -        }
> > > +        error_report("Use the --shrink option to perform a shrink 
> > > operation.");
> > 
> > I think it would be nice to retain this bit of text:
> > 
> > > -        warn_report("Shrinking an image will delete all data beyond the "
> > > -                    "shrunken image's end. Before performing such an "
> > > -                    "operation, make sure there is no important data 
> > > there.");
> > 
> > ie, make the raw-shrink case be the same as the non-raw-shrink
> > case currently does.
> 
> I had this at first, but then the whole thing looked like a warning and
> I wasn't sure that it would still be understood as an error. (Which is
> of course a preexisting problem for non-raw.)
> 
> Maybe it becomes clearer if I just swap the order and print the error
> first and only then the warning?

I made this change and applied the patch to the block branch.

Kevin




reply via email to

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