[pacman-dev] [PATCH] Use f_bavail for diskspace calculations

Martin Kühne mysatyre at gmail.com
Tue Oct 11 16:36:17 UTC 2016


From: Martin Kühne <mysatyre at gmail.com>

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 at gmail.com>
---
 lib/libalpm/diskspace.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/libalpm/diskspace.c b/lib/libalpm/diskspace.c
index da4ad56..55343c1 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;
-- 
2.10.0


More information about the pacman-dev mailing list