From: Jan Kara Date: Wed, 30 Nov 2022 17:01:53 +0000 (+0100) Subject: generic/273: Limit number of files by available inodes X-Git-Tag: v2022.12.11~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8ec6f05efca7346a81e755da953b9a170eff9f62;p=xfstests-dev.git generic/273: Limit number of files by available inodes Test generic/273 is failing for ext4 with 1k blocksize because it is creating more files than we have available inodes. Just limit the number of files created to the number of inodes. Signed-off-by: Jan Kara Reviewed-by: Zorro Lang Signed-off-by: Zorro Lang --- diff --git a/tests/generic/273 b/tests/generic/273 index f86dae9b..54c19996 100755 --- a/tests/generic/273 +++ b/tests/generic/273 @@ -50,9 +50,21 @@ _file_create() cd $SCRATCH_MNT/origin - _disksize=`$DF_PROG -B 1 $SCRATCH_MNT | tail -1 | $AWK_PROG '{ print $5 }'` + _disksize=$(_get_available_space $SCRATCH_MNT) + _free_inodes=$(_get_free_inode $SCRATCH_MNT) + # Some filesystems do not limit number of inodes and return 0 + if [ $_free_inodes -eq 0 ]; then + # Guess one block per inode + _free_inodes=$(($_disksize / $block_size)) + fi + # Leave some slack for directories etc. + _free_inodes=$(($_free_inodes - $_free_inodes/8)) _disksize=$(($_disksize / 3)) - _num=$(($_disksize / $count / $threads / $block_size)) + _num=$(($_disksize / $count / $block_size)) + if [ $_num -gt $_free_inodes ]; then + _num=$_free_inodes + fi + _num=$(($_num/$threads)) _count=$count while [ $_i -lt $_num ] do