From aa73488e785799512d36d31141d48ed36e674b94 Mon Sep 17 00:00:00 2001 From: Manu Date: Thu, 31 Jan 2019 14:26:21 +0800 Subject: [PATCH] Use f_frsize instead of f_bsize to calculate free space. Fixes #4289 (cherry picked from commit c3a882b509d9213bb9fc4ff2af561c09c07afe97) --- src/borg/remote.py | 2 +- src/borg/repository.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/borg/remote.py b/src/borg/remote.py index 54fdf574d..6d2e418be 100644 --- a/src/borg/remote.py +++ b/src/borg/remote.py @@ -1108,7 +1108,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): diff --git a/src/borg/repository.py b/src/borg/repository.py index 3c8420d97..c391d8ef5 100644 --- a/src/borg/repository.py +++ b/src/borg/repository.py @@ -644,7 +644,7 @@ class Repository: logger.warning('Failed to check free space before committing: ' + str(os_error)) 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: