Use f_frsize instead of f_bsize to calculate free space. Fixes #4289

(cherry picked from commit c3a882b509)
This commit is contained in:
Manu 2019-01-31 14:26:21 +08:00 committed by Thomas Waldmann
parent 1471fc0b03
commit aa73488e78
2 changed files with 2 additions and 2 deletions

View File

@ -1108,7 +1108,7 @@ class RepositoryCache(RepositoryNoCache):
def query_size_limit(self): def query_size_limit(self):
stat_fs = os.statvfs(self.basedir) 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)) self.size_limit = int(min(available_space * 0.25, 2**31))
def key_filename(self, key): def key_filename(self, key):

View File

@ -644,7 +644,7 @@ class Repository:
logger.warning('Failed to check free space before committing: ' + str(os_error)) logger.warning('Failed to check free space before committing: ' + str(os_error))
return return
# f_bavail: even as root - don't touch the Federal Block Reserve! # 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)) logger.debug('check_free_space: required bytes {}, free bytes {}'.format(required_free_space, free_space))
if free_space < required_free_space: if free_space < required_free_space:
if self.created: if self.created: