mirror of
https://github.com/borgbackup/borg.git
synced 2026-10-12 02:11:36 +00:00
An archive's item metadata chunks are written into the same packs as the file content chunks (one ChunkBuffer flush per 8 MiB of items). Reading them via get_many loaded each whole 50 MB pack just to take a few MB of item metadata out of it: e.g. "borg list" of an archive with 3 MB of item metadata loaded 49.6 MB. DownloadPipeline.fetch_many now uses gather_many for ROBJ_ARCHIVE_STREAM (unpack_many / iter_items: list, diff, extract, mount, compact, recreate, transfer, analyze, ...), as do archive_get_items for the item_ptrs and the archives check for the item metadata chunks. File content is still read via get_many (whole packs). The legacy repositories get a gather_many that just calls get_many, so transfer from a borg 1.x repository still works. Co-Authored-By: Claude Opus 5.5 <[email protected]>