From b4b17fd95be0236630e4f7d81cd48b31b43e2300 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Thu, 19 Oct 2023 11:13:53 +0200 Subject: [PATCH] pbs client: add 'tar' parameter to file_restore_extract so that we can get a 'tar.zst' from proxmox-file-restore by passing '--format tar --zstd' to the file-restore binary Signed-off-by: Dominik Csapak Signed-off-by: Thomas Lamprecht --- src/PVE/PBSClient.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/PVE/PBSClient.pm b/src/PVE/PBSClient.pm index ec05a1c..e63af03 100644 --- a/src/PVE/PBSClient.pm +++ b/src/PVE/PBSClient.pm @@ -416,7 +416,7 @@ sub file_restore_extract_prepare { # this blocks while data is transfered, call this from a background worker sub file_restore_extract { - my ($self, $output_file, $snapshot, $filepath, $base64) = @_; + my ($self, $output_file, $snapshot, $filepath, $base64, $tar) = @_; (my $namespace, $snapshot) = split_namespaced_parameter($self, $snapshot); @@ -430,10 +430,15 @@ sub file_restore_extract { my $fn = fileno($fh); my $errfunc = sub { print $_[0], "\n"; }; + my $cmd = [ $snapshot, $filepath, "-", "--base64", $base64 ? 1 : 0]; + if ($tar) { + push @$cmd, '--format', 'tar', '--zstd', 1; + } + return run_raw_client_cmd( $self, "extract", - [ $snapshot, $filepath, "-", "--base64", $base64 ? 1 : 0 ], + $cmd, binary => "proxmox-file-restore", namespace => $namespace, errfunc => $errfunc,