diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c index c25929e0262dffa693b08fba07bb712bddc2fe59..595edad9e9a6ea48746a75e383c7e2fb917b00d3 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;