mirror of
https://git.proxmox.com/git/proxmox-backup
synced 2025-08-12 09:48:03 +00:00
api: datastore: attach split archive payload chunk reader
Attach the payload chunk reader for pxar archives which have been uploaded using split streams for metadata and payload data. Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
This commit is contained in:
parent
08fe50520a
commit
0e44d9d30c
@ -1810,10 +1810,20 @@ pub fn pxar_file_download(
|
||||
}
|
||||
}
|
||||
|
||||
let (pxar_name, payload_archive_name) =
|
||||
pbs_client::tools::get_pxar_archive_names(pxar_name, &manifest)?;
|
||||
let (reader, archive_size) =
|
||||
get_local_pxar_reader(datastore.clone(), &manifest, &backup_dir, pxar_name)?;
|
||||
get_local_pxar_reader(datastore.clone(), &manifest, &backup_dir, &pxar_name)?;
|
||||
|
||||
let reader = if let Some(payload_archive_name) = payload_archive_name {
|
||||
let payload_input =
|
||||
get_local_pxar_reader(datastore, &manifest, &backup_dir, &payload_archive_name)?;
|
||||
pxar::PxarVariant::Split(reader, payload_input)
|
||||
} else {
|
||||
pxar::PxarVariant::Unified(reader)
|
||||
};
|
||||
let decoder = Accessor::new(reader, archive_size).await?;
|
||||
|
||||
let decoder = Accessor::new(pxar::PxarVariant::Unified(reader), archive_size).await?;
|
||||
let root = decoder.open_root().await?;
|
||||
let path = OsStr::from_bytes(file_path).to_os_string();
|
||||
let file = root
|
||||
|
Loading…
Reference in New Issue
Block a user