mirror of
https://github.com/borgbackup/borg.git
synced 2024-09-11 12:36:12 +03:00
create: only run stat_simple_attrs() once
the second call was done in stat_attrs(). this increases backup with lots of unchanged files performance by ~ 5%.
This commit is contained in:
parent
ef90cda43a
commit
cd4f6b41ca
@ -1195,6 +1195,7 @@ def process_file(self, *, path, parent_fd, name, st, cache, flags=flags_normal):
|
||||
with OsOpen(path=path, parent_fd=parent_fd, name=name, flags=flags, noatime=True) as fd:
|
||||
with backup_io('fstat'):
|
||||
st = stat_update_check(st, os.fstat(fd))
|
||||
item.update(self.metadata_collector.stat_simple_attrs(st))
|
||||
is_special_file = is_special(st.st_mode)
|
||||
if not hardlinked or hardlink_master:
|
||||
if not is_special_file:
|
||||
@ -1219,7 +1220,6 @@ def process_file(self, *, path, parent_fd, name, st, cache, flags=flags_normal):
|
||||
else:
|
||||
status = 'M' if known else 'A' # regular file, modified or added
|
||||
item.hardlink_master = hardlinked
|
||||
item.update(self.metadata_collector.stat_simple_attrs(st))
|
||||
# Only chunkify the file if needed
|
||||
if chunks is not None:
|
||||
item.chunks = chunks
|
||||
@ -1244,8 +1244,7 @@ def process_file(self, *, path, parent_fd, name, st, cache, flags=flags_normal):
|
||||
# changed while we backed it up.
|
||||
cache.memorize_file(path_hash, st, [c.id for c in item.chunks])
|
||||
self.stats.nfiles += 1
|
||||
md = self.metadata_collector.stat_attrs(st, path, fd=fd)
|
||||
item.update(md)
|
||||
item.update(self.metadata_collector.stat_ext_attrs(st, path, fd=fd))
|
||||
item.get_size(memorize=True)
|
||||
if is_special_file:
|
||||
# we processed a special file like a regular file. reflect that in mode,
|
||||
|
Loading…
Reference in New Issue
Block a user