From d1ca9aee3911f54248513b454ee3d9684fb0099a Mon Sep 17 00:00:00 2001 From: Pierre HUBERT <pierre.git@communiquons.org> Date: Sat, 31 May 2025 11:24:01 +0200 Subject: [PATCH] Fix bad qemu-img conversions --- virtweb_backend/src/utils/file_disks_utils.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/virtweb_backend/src/utils/file_disks_utils.rs b/virtweb_backend/src/utils/file_disks_utils.rs index 7c081d7..228f011 100644 --- a/virtweb_backend/src/utils/file_disks_utils.rs +++ b/virtweb_backend/src/utils/file_disks_utils.rs @@ -183,7 +183,13 @@ impl DiskFileInfo { // Convert QCow2 to Raw file (DiskFileFormat::QCow2 { .. }, DiskFileFormat::Raw { is_sparse }) => { let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM); - cmd.arg("convert").arg(&self.file_path).arg(&temp_file); + cmd.arg("convert") + .arg("-f") + .arg("qcow2") + .arg("-O") + .arg("raw") + .arg(&self.file_path) + .arg(&temp_file); if !is_sparse { cmd.args(["-S", "0"]); @@ -197,6 +203,8 @@ impl DiskFileInfo { (DiskFileFormat::QCow2 { .. }, DiskFileFormat::QCow2 { .. }) => { let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM); cmd.arg("convert") + .arg("-f") + .arg("qcow2") .arg("-O") .arg("qcow2") .arg(&self.file_path) @@ -207,7 +215,13 @@ impl DiskFileInfo { // Convert Raw to QCow2 file (DiskFileFormat::Raw { .. }, DiskFileFormat::QCow2 { .. }) => { let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM); - cmd.arg("convert").arg(&self.file_path).arg(&temp_file); + cmd.arg("convert") + .arg("-f") + .arg("raw") + .arg("-O") + .arg("qcow2") + .arg(&self.file_path) + .arg(&temp_file); cmd }