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);