[PATCH] generic/645: Confirm availability of free inodes

Ojaswin Mujoo <[email protected]> Wed, 17 Jun 2026 11:12:16 +0530
Newsgroups org.kernel.vger.fstests
Message-ID <[email protected]>
When running generic/645 with ext4 using 64k block size + bigalloc, the
test fails with ENOSPC because the filesystem runs out of inodes before
the test completes.

The test creates approximately 10,001 files, however, in this particular
configuration a standard 5G FS only has around ~5100 inodes resulting in
the ENOSPC failure.

Add a check using _get_free_inode() to verify sufficient inodes are
available before running the test, else skip it.

Reported-by: Disha Goel <[email protected]>
Signed-off-by: Ojaswin Mujoo <[email protected]>
---
 tests/generic/645 | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tests/generic/645 b/tests/generic/645
index d6eb75e6..944b33db 100755
--- a/tests/generic/645
+++ b/tests/generic/645
@@ -19,6 +19,12 @@ _require_chown
 _wants_kernel_commit dacfd001eaf2 \
 	"fs/mnt_idmapping.c: Return -EINVAL when no map is written"
 
+_free_inodes=$(_get_free_inode $TEST_DIR)
+if [ $_free_inodes -ne 0 ] && [ $_free_inodes -lt 10001 ]; then
+	_notrun "Insufficient free inodes ($_free_inodes), need at least 10001"
+fi
+
 echo "Silence is golden"
 
 $here/src/vfs/vfstest --test-nested-userns \
-- 
2.53.0