Przeglądaj źródła

slightly refactor write_commit using new "want_new" flag

Thomas Waldmann 7 lat temu
rodzic
commit
3715d2da3e
1 zmienionych plików z 3 dodań i 6 usunięć
  1. 3 6
      src/borg/repository.py

+ 3 - 6
src/borg/repository.py

@@ -1482,14 +1482,11 @@ class LoggedIO:
         return self.segment, self.put_header_fmt.size
 
     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)
         if intermediate:
-            # Intermediate commits go directly into the current segment - this makes checking their validity more
-            # expensive, but is faster and reduces clobber.
-            fd = self.get_write_fd()
             fd.sync()
-        else:
-            self.close_segment()
-            fd = self.get_write_fd()
         header = self.header_no_crc_fmt.pack(self.header_fmt.size, TAG_COMMIT)
         crc = self.crc_fmt.pack(crc32(header) & 0xffffffff)
         fd.write(b''.join((crc, header)))