[libvirt] [PATCH] storage: Add --shrink to qemu-img command when shrinking vol

https://bugzilla.redhat.com/show_bug.cgi?id=1613746 When shrinking the capacity of a qcow2 or luks volume using the qemu-img program, the --shrink qualifier must be added. Signed-off-by: John Ferlan <jferlan@redhat.com> --- src/storage/storage_util.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index 42a9b6abf0..c936120bf0 100644 --- a/src/storage/storage_util.c +++ b/src/storage/storage_util.c @@ -2294,12 +2294,12 @@ storageBackendResizeQemuImg(virStoragePoolObjPtr pool, * a multiple of 512 */ capacity = VIR_ROUND_UP(capacity, 512); - cmd = virCommandNew(img_tool); + cmd = virCommandNewArgList(img_tool, "resize", NULL); + if (capacity < vol->target.capacity) + virCommandAddArg(cmd, "--shrink"); if (!vol->target.encryption) { - virCommandAddArgList(cmd, "resize", vol->target.path, NULL); + virCommandAddArg(cmd, vol->target.path); } else { - virCommandAddArg(cmd, "resize"); - if (storageBackendCreateQemuImgSecretObject(cmd, secretPath, secretAlias) < 0) goto cleanup; -- 2.17.1

On Fri, Aug 17, 2018 at 04:01:32PM -0400, John Ferlan wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1613746
When shrinking the capacity of a qcow2 or luks volume using the qemu-img program, the --shrink qualifier must be added.
Signed-off-by: John Ferlan <jferlan@redhat.com> --- src/storage/storage_util.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 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 :|
participants (2)
-
Daniel P. Berrangé
-
John Ferlan