Procházet zdrojové kódy

compact: log freed space at INFO level

note: correctness of value depends on correctness/completeness of
repository.compact datastructure.
Thomas Waldmann před 6 roky
rodič
revize
8b75dde0fa
1 změnil soubory, kde provedl 3 přidání a 0 odebrání
  1. 3 0
      src/borg/repository.py

+ 3 - 0
src/borg/repository.py

@@ -695,6 +695,7 @@ class Repository:
         if not self.compact:
             logger.debug('nothing to do: compact empty')
             return
+        freed_space = 0
         index_transaction_id = self.get_index_transaction_id()
         segments = self.segments
         unused = []  # list of segments, that are not used anymore
@@ -734,6 +735,7 @@ class Repository:
                              segment, freeable_ratio * 100.0, freeable_space)
                 pi.show()
                 continue
+            freed_space += freeable_space  # this is what we THINK we can free
             segments.setdefault(segment, 0)
             logger.debug('compacting segment %d with usage count %d (freeable: %2.2f%% [%d bytes])',
                          segment, segments[segment], freeable_ratio * 100.0, freeable_space)
@@ -814,6 +816,7 @@ class Repository:
             pi.show()
         pi.finish()
         complete_xfer(intermediate=False)
+        logger.info('compaction freed about %s repository space.', format_file_size(freed_space))
         logger.debug('compaction completed.')
 
     def replay_segments(self, index_transaction_id, segments_transaction_id):