[pve-devel] [PATCH common v3 1/1] PBSClient: add 'tar' parameter to file_restore_extract

Dominik Csapak d.csapak at proxmox.com
Thu Oct 19 11:13:53 CEST 2023


so that we can get a 'tar.zst' from proxmox-file-restore by giving
'--format tar --zstd' to the file-restore binary

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
 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,
-- 
2.30.2






More information about the pve-devel mailing list