1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-02-21 21:57:36 +00:00

Merge pull request #4616 from ThomasWaldmann/fix-4607-extract-hl-crash-master

extract: fix KeyError for "partial" extraction, fixes #4607 (master fwd port)
This commit is contained in:
TW 2019-06-10 21:09:16 +02:00 committed by GitHub
commit b989b66584
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -258,6 +258,7 @@ def unpack_many(self, ids, filter=None, partial_extract=False, preload=False, ha
Warning: if *preload* is True then all data chunks of every yielded item have to be retrieved,
otherwise preloaded chunks will accumulate in RemoteRepository and create a memory leak.
"""
masters_preloaded = set()
unpacker = msgpack.Unpacker(use_list=False)
for data in self.fetch_many(ids):
unpacker.feed(data)
@ -279,7 +280,6 @@ def preload(chunks):
# selected (== not extracted), we will still need to preload its chunks if a
# corresponding hardlink slave is selected (== is extracted).
# due to a side effect of the filter() call, we now have hardlink_masters dict populated.
masters_preloaded = set()
for item in items:
if 'chunks' in item: # regular file, maybe a hardlink master
preload(item.chunks)