From 2fa4d0e11ba3c9b59bd3cd344c38794244c6659b Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Mon, 9 Jun 2025 17:05:47 +0200 Subject: [PATCH] Can compress XZ files --- virtweb_backend/src/utils/file_disks_utils.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/virtweb_backend/src/utils/file_disks_utils.rs b/virtweb_backend/src/utils/file_disks_utils.rs index 98a2ced..5a5e126 100644 --- a/virtweb_backend/src/utils/file_disks_utils.rs +++ b/virtweb_backend/src/utils/file_disks_utils.rs @@ -274,7 +274,7 @@ impl DiskFileInfo { cmd } - // Compress Raw + // Compress Raw (Gz) (DiskFileFormat::Raw { .. }, DiskFileFormat::GzCompressedRaw) => { let mut cmd = Command::new(constants::PROGRAM_GZIP); cmd.arg("--keep") @@ -284,6 +284,16 @@ impl DiskFileInfo { cmd } + // Compress Raw (Xz) + (DiskFileFormat::Raw { .. }, DiskFileFormat::XzCompressedRaw) => { + let mut cmd = Command::new(constants::PROGRAM_XZ); + cmd.arg("--keep") + .arg("--to-stdout") + .arg(&self.file_path) + .stdout(File::create(&temp_file)?); + cmd + } + // Decompress Raw (Gz) to not sparse file (DiskFileFormat::GzCompressedRaw, DiskFileFormat::Raw { is_sparse: false }) => { let mut cmd = Command::new(constants::PROGRAM_GZIP);