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

fix intermediate commits, shall be at end of segment

compact_segments produced separate 17b files for intermediate commits, although they were intended to be end-of-segment-file commits.

this is because when the intermediate commit is triggered, we are already at an offset beyond the limit.
 thus needed to add the no_new flag to indicate that we do not want a new segment file just for the commit IF it is an intermediate commit.
This commit is contained in:
Thomas Waldmann 2022-02-01 19:45:29 +01:00
parent 2b81943030
commit 925daf30b7

View file

@ -1634,7 +1634,7 @@ def write_delete(self, id, raise_full=False):
def write_commit(self, intermediate=False):
# Intermediate commits go directly into the current segment - this makes checking their validity more
# expensive, but is faster and reduces clobber. Final commits go into a new segment.
fd = self.get_write_fd(want_new=not intermediate)
fd = self.get_write_fd(want_new=not intermediate, no_new=intermediate)
if intermediate:
fd.sync()
header = self.header_no_crc_fmt.pack(self.header_fmt.size, TAG_COMMIT)