mirror of
https://github.com/borgbackup/borg.git
synced 2025-02-22 22:22:27 +00:00
Merge pull request #1237 from ThomasWaldmann/double-sync
make sure data hits disk before commit tag, fixes #1236
This commit is contained in:
commit
74e5e758b8
1 changed files with 4 additions and 1 deletions
|
@ -727,8 +727,11 @@ def write_commit(self):
|
|||
fd = self.get_write_fd(no_new=True)
|
||||
header = self.header_no_crc_fmt.pack(self.header_fmt.size, TAG_COMMIT)
|
||||
crc = self.crc_fmt.pack(crc32(header) & 0xffffffff)
|
||||
# first fsync(fd) here (to ensure data supposedly hits the disk before the commit tag)
|
||||
fd.flush()
|
||||
os.fsync(fd.fileno())
|
||||
fd.write(b''.join((crc, header)))
|
||||
self.close_segment()
|
||||
self.close_segment() # after-commit fsync()
|
||||
|
||||
def close_segment(self):
|
||||
if self._write_fd:
|
||||
|
|
Loading…
Reference in a new issue