From 8b1289f3e4cae871f010c0035883b604aeb5ad63 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 24 Mar 2021 09:33:39 +0100 Subject: [PATCH] tape: skip catalog archives in restore --- src/api2/tape/restore.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/api2/tape/restore.rs b/src/api2/tape/restore.rs index 2a8bf389..c7ba3724 100644 --- a/src/api2/tape/restore.rs +++ b/src/api2/tape/restore.rs @@ -449,7 +449,17 @@ fn restore_archive<'a>( catalog.commit_if_large()?; } } - _ => bail!("unknown content magic {:?}", header.content_magic), + PROXMOX_BACKUP_CATALOG_ARCHIVE_MAGIC_1_0 => { + let header_data = reader.read_exact_allocated(header.size as usize)?; + + let archive_header: CatalogArchiveHeader = serde_json::from_slice(&header_data) + .map_err(|err| format_err!("unable to parse catalog archive header - {}", err))?; + + task_log!(worker, "File {}: skip catalog '{}'", current_file_number, archive_header.uuid); + + reader.skip_to_end()?; // read all data + } + _ => bail!("unknown content magic {:?}", header.content_magic), } catalog.commit()?;