On Wed, Nov 30, 2022 at 06:01:53PM +0100, Jan Kara wrote: > 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 <jack@xxxxxxx> > --- Looks good to me, Reviewed-by: Zorro Lang <zlang@xxxxxxxxxx> > tests/generic/273 | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > Changes since v1: > * Handle btrfs which reports 0 free inodes > > diff --git a/tests/generic/273 b/tests/generic/273 > index f86dae9b8095..54c199962421 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 > -- > 2.35.3 >