commit: 8135eb51ae1cfe31e282a77d159d0df1bb14e49b Author: Florian Schmaus <flow <AT> gentoo <DOT> org> AuthorDate: Sat Dec 20 13:15:19 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Dec 20 21:57:14 2025 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=8135eb51
Scheduler: Only check free inode count on certain filesystems The 'favail' value may be zero, or another made-up value, on filesystems which allocate inodes dynamically (e.g., btrfs). Checking for a certain number of free inodes is hence only sensible on filesystems with a static inode count. Thanks to dol-sen for reporting this. Signed-off-by: Florian Schmaus <flow <AT> gentoo.org> Part-of: https://github.com/gentoo/portage/pull/1532 Closes: https://github.com/gentoo/portage/pull/1532 Signed-off-by: Sam James <sam <AT> gentoo.org> lib/_emerge/Scheduler.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/_emerge/Scheduler.py b/lib/_emerge/Scheduler.py index baf139ddfd..41c75db9de 100644 --- a/lib/_emerge/Scheduler.py +++ b/lib/_emerge/Scheduler.py @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 from collections import deque @@ -27,7 +27,7 @@ from portage._sets import SETPREFIX from portage._sets.base import InternalPackageSet from portage.util import ensure_dirs, writemsg, writemsg_level from portage.util.futures import asyncio -from portage.util.path import first_existing +from portage.util.path import first_existing, get_fs_type_cached from portage.util.SlotObject import SlotObject from portage.util._async.SchedulerInterface import SchedulerInterface from portage.package.ebuild.digestcheck import digestcheck @@ -1899,6 +1899,8 @@ class Scheduler(PollScheduler): if ( self._jobs_tmpdir_require_free_kilo_inodes and self._jobs_tmpdir_require_free_kilo_inodes != 0 + # Only check free inode count on filesystems with a static inode count + and get_fs_type_cached(tmpdir) in ("ext4", "ext3", "ext2") ): required_free_inodes = ( self._jobs_tmpdir_require_free_kilo_inodes * 1000
