瀏覽代碼

Merge pull request #4292 from m3nu/issue/4289/fix-free-space-calc

Use f_frsize instead of f_bsize to calculate free space. Fixes #4289
TW 6 年之前
父節點
當前提交
2db84eada0
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      src/borg/remote.py
  2. 1 1
      src/borg/repository.py

+ 1 - 1
src/borg/remote.py

@@ -1104,7 +1104,7 @@ class RepositoryCache(RepositoryNoCache):
 
     def query_size_limit(self):
         stat_fs = os.statvfs(self.basedir)
-        available_space = stat_fs.f_bsize * stat_fs.f_bavail
+        available_space = stat_fs.f_bavail * stat_fs.f_frsize
         self.size_limit = int(min(available_space * 0.25, 2**31))
 
     def key_filename(self, key):

+ 1 - 1
src/borg/repository.py

@@ -658,7 +658,7 @@ class Repository:
             logger.warning('Failed to check free space before committing: no statvfs method available')
             return
         # f_bavail: even as root - don't touch the Federal Block Reserve!
-        free_space = st_vfs.f_bavail * st_vfs.f_bsize
+        free_space = st_vfs.f_bavail * st_vfs.f_frsize
         logger.debug('check_free_space: required bytes {}, free bytes {}'.format(required_free_space, free_space))
         if free_space < required_free_space:
             if self.created: