1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-26 17:57:59 +00:00

create: don't create hard link refs to failed files

This commit is contained in:
Marian Beermann 2017-01-22 02:21:26 +01:00
parent 739578ebba
commit d350e3a2e1

View file

@ -660,8 +660,6 @@ def process_file(self, path, st, cache, ignore_inode=False):
self.add_item(item)
status = 'h' # regular file, hardlink (to already seen inodes)
return status
else:
self.hard_links[st.st_ino, st.st_dev] = safe_path
is_special_file = is_special(st.st_mode)
if not is_special_file:
path_hash = self.key.id_hash(os.path.join(self.cwd, path).encode('utf-8', 'surrogateescape'))
@ -709,6 +707,9 @@ def process_file(self, path, st, cache, ignore_inode=False):
item[b'mode'] = stat.S_IFREG | stat.S_IMODE(item[b'mode'])
self.stats.nfiles += 1
self.add_item(item)
if st.st_nlink > 1 and source is None:
# Add the hard link reference *after* the file has been added to the archive.
self.hard_links[st.st_ino, st.st_dev] = safe_path
return status
@staticmethod