summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Kühne <mysatyre@gmail.com>2016-10-11 18:36:17 +0200
committerAndrew Gregory <andrew.gregory.8@gmail.com>2017-05-09 05:27:44 +0200
commitc2aed8aaff7f092cb5ab5d5ce38a98e0ef1a6adc (patch)
treec57ddedaaaa754bb81702f4033ab83600335c79e
parent80a0016de4485c208e02d5a82b22d2320d445964 (diff)
downloadpacman-c2aed8aaff7f092cb5ab5d5ce38a98e0ef1a6adc.tar.gz
pacman-c2aed8aaff7f092cb5ab5d5ce38a98e0ef1a6adc.tar.xz
Use f_bavail for diskspace calculations
This should make pacman's behavior consistent with GNU coreutils df, as well as follow advice from affected filesystems' devs as well as `man statvfs`. This fixes FS#37402 Signed-off-by: Martin Kühne <mysatyre@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> (cherry picked from commit 8c55c0096c355e973ce6111cb25a1c4fa05953cf)
-rw-r--r--lib/libalpm/diskspace.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libalpm/diskspace.c b/lib/libalpm/diskspace.c
index da4ad560..55343c16 100644
--- a/lib/libalpm/diskspace.c
+++ b/lib/libalpm/diskspace.c
@@ -348,11 +348,11 @@ static int check_mountpoint(alpm_handle_t *handle, alpm_mountpoint_t *mp)
_alpm_log(handle, ALPM_LOG_DEBUG,
"partition %s, needed %jd, cushion %ju, free %ju\n",
mp->mount_dir, (intmax_t)mp->max_blocks_needed,
- (uintmax_t)cushion, (uintmax_t)mp->fsp.f_bfree);
- if(needed >= 0 && (fsblkcnt_t)needed > mp->fsp.f_bfree) {
+ (uintmax_t)cushion, (uintmax_t)mp->fsp.f_bavail);
+ if(needed >= 0 && (fsblkcnt_t)needed > mp->fsp.f_bavail) {
_alpm_log(handle, ALPM_LOG_ERROR,
_("Partition %s too full: %jd blocks needed, %ju blocks free\n"),
- mp->mount_dir, (intmax_t)needed, (uintmax_t)mp->fsp.f_bfree);
+ mp->mount_dir, (intmax_t)needed, (uintmax_t)mp->fsp.f_bavail);
return 1;
}
return 0;