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 <kw...@redhat.com> Message-Id: <20200710121717.28339-1-kw...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> --- qemu-img.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index efb6ca139e..5308773811 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -4004,20 +4004,12 @@ static int img_resize(int argc, char **argv) } if (total_size < current_size && !shrink) { + error_report("Use the --shrink option to perform a shrink operation."); 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."); - } + ret = -1; + goto out; } /* -- 2.25.4