1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-23 08:16:54 +00:00

Merge pull request #3963 from ThomasWaldmann/chunker-fd-only

Chunker: give os-level fd only
This commit is contained in:
TW 2018-07-07 18:38:30 +02:00 committed by GitHub
commit 20abc9d687
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1151,9 +1151,11 @@ def process_file(self, path, st, cache):
else:
with backup_io('open'):
fh = Archive._open_rb(path)
with os.fdopen(fh, 'rb') as fd:
self.process_file_chunks(item, cache, self.stats, self.show_progress, backup_io_iter(self.chunker.chunkify(fd, fh)))
try:
self.process_file_chunks(item, cache, self.stats, self.show_progress, backup_io_iter(self.chunker.chunkify(None, fh)))
md = self.metadata_collector.stat_attrs(st, path, fd=fh)
finally:
os.close(fh)
if not is_special_file:
# we must not memorize special files, because the contents of e.g. a
# block or char device will change without its mtime/size/inode changing.