Fix bad qemu-img conversions
This commit is contained in:
		@@ -183,7 +183,13 @@ impl DiskFileInfo {
 | 
				
			|||||||
            // Convert QCow2 to Raw file
 | 
					            // Convert QCow2 to Raw file
 | 
				
			||||||
            (DiskFileFormat::QCow2 { .. }, DiskFileFormat::Raw { is_sparse }) => {
 | 
					            (DiskFileFormat::QCow2 { .. }, DiskFileFormat::Raw { is_sparse }) => {
 | 
				
			||||||
                let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM);
 | 
					                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 {
 | 
					                if !is_sparse {
 | 
				
			||||||
                    cmd.args(["-S", "0"]);
 | 
					                    cmd.args(["-S", "0"]);
 | 
				
			||||||
@@ -197,6 +203,8 @@ impl DiskFileInfo {
 | 
				
			|||||||
            (DiskFileFormat::QCow2 { .. }, DiskFileFormat::QCow2 { .. }) => {
 | 
					            (DiskFileFormat::QCow2 { .. }, DiskFileFormat::QCow2 { .. }) => {
 | 
				
			||||||
                let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM);
 | 
					                let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM);
 | 
				
			||||||
                cmd.arg("convert")
 | 
					                cmd.arg("convert")
 | 
				
			||||||
 | 
					                    .arg("-f")
 | 
				
			||||||
 | 
					                    .arg("qcow2")
 | 
				
			||||||
                    .arg("-O")
 | 
					                    .arg("-O")
 | 
				
			||||||
                    .arg("qcow2")
 | 
					                    .arg("qcow2")
 | 
				
			||||||
                    .arg(&self.file_path)
 | 
					                    .arg(&self.file_path)
 | 
				
			||||||
@@ -207,7 +215,13 @@ impl DiskFileInfo {
 | 
				
			|||||||
            // Convert Raw to QCow2 file
 | 
					            // Convert Raw to QCow2 file
 | 
				
			||||||
            (DiskFileFormat::Raw { .. }, DiskFileFormat::QCow2 { .. }) => {
 | 
					            (DiskFileFormat::Raw { .. }, DiskFileFormat::QCow2 { .. }) => {
 | 
				
			||||||
                let mut cmd = Command::new(constants::QEMU_IMAGE_PROGRAM);
 | 
					                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
 | 
					                cmd
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user