* [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all image formats
@ 2020-07-10 12:17 Kevin Wolf
2020-07-10 12:26 ` Daniel P. Berrangé
2020-07-10 12:33 ` Peter Maydell
0 siblings, 2 replies; 5+ messages in thread
From: Kevin Wolf @ 2020-07-10 12:17 UTC (permalink / raw)
To: qemu-block; +Cc: kwolf, peter.maydell, qemu-devel, mreitz
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.");
+ ret = -1;
+ goto out;
}
/*
--
2.25.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all image formats
2020-07-10 12:17 [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all image formats Kevin Wolf
@ 2020-07-10 12:26 ` Daniel P. Berrangé
2020-07-10 12:33 ` Peter Maydell
1 sibling, 0 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2020-07-10 12:26 UTC (permalink / raw)
To: Kevin Wolf; +Cc: peter.maydell, qemu-devel, qemu-block, mreitz
On Fri, Jul 10, 2020 at 02:17:17PM +0200, Kevin Wolf 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.
Libvirt has used the --shrink flag since Aug 2018, so this is safe
from our POV.
> 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(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all image formats
2020-07-10 12:17 [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all image formats Kevin Wolf
2020-07-10 12:26 ` Daniel P. Berrangé
@ 2020-07-10 12:33 ` Peter Maydell
2020-07-10 12:41 ` Kevin Wolf
1 sibling, 1 reply; 5+ messages in thread
From: Peter Maydell @ 2020-07-10 12:33 UTC (permalink / raw)
To: Kevin Wolf; +Cc: QEMU Developers, Qemu-block, Max Reitz
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.
thanks
-- PMM
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all image formats
2020-07-10 12:33 ` Peter Maydell
@ 2020-07-10 12:41 ` Kevin Wolf
2020-07-14 8:33 ` Kevin Wolf
0 siblings, 1 reply; 5+ messages in thread
From: Kevin Wolf @ 2020-07-10 12:41 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers, Qemu-block, Max Reitz
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?
Kevin
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all image formats
2020-07-10 12:41 ` Kevin Wolf
@ 2020-07-14 8:33 ` Kevin Wolf
0 siblings, 0 replies; 5+ messages in thread
From: Kevin Wolf @ 2020-07-14 8:33 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers, Qemu-block, Max Reitz
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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-07-14 8:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-10 12:17 [PATCH for-5.1] qemu-img resize: Require --shrink for shrinking all image formats Kevin Wolf
2020-07-10 12:26 ` Daniel P. Berrangé
2020-07-10 12:33 ` Peter Maydell
2020-07-10 12:41 ` Kevin Wolf
2020-07-14 8:33 ` Kevin Wolf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).