On Thu, Oct 24, 2024 at 01:23:10PM +0200, Pankaj Raghav wrote: > generic/219 was failing for XFS with 32k and 64k blocksize. Even though > we do only 48k IO, XFS will allocate blocks rounded to the nearest > blocksize. > > Signed-off-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx> > --- > tests/generic/219 | 18 +++++++++++++++--- > 1 file changed, 15 insertions(+), 3 deletions(-) > > diff --git a/tests/generic/219 b/tests/generic/219 > index 940b902e..d72aa745 100755 > --- a/tests/generic/219 > +++ b/tests/generic/219 > @@ -49,12 +49,24 @@ check_usage() > fi > } > > +_round_up_to_fs_blksz() > +{ > + local n=$1 > + local bs=$(_get_file_block_size "$SCRATCH_MNT") > + local bs_kb=$(( bs >> 10 )) > + > + echo $(( (n + bs_kb - 1) & ~(bs_kb - 1) )) Nit: you can divide here, right? echo $(( (n + bs_kb - 1) / bs_kb )) The rest seems fine. --D > +} > + > test_accounting() > { > - echo "### some controlled buffered, direct and mmapd IO (type=$type)" > - echo "--- initiating parallel IO..." >>$seqres.full > # Small ios here because ext3 will account for indirect blocks too ... > # 48k will fit w/o indirect for 4k blocks (default blocksize) > + io_sz=$(_round_up_to_fs_blksz 48) > + sz=$(( io_sz * 3 )) > + > + echo "### some controlled buffered, direct and mmapd IO (type=$type)" > + echo "--- initiating parallel IO..." >>$seqres.full > $XFS_IO_PROG -c 'pwrite 0 48k' -c 'fsync' \ > $SCRATCH_MNT/buffer >>$seqres.full 2>&1 & > $XFS_IO_PROG -c 'pwrite 0 48k' -d \ > @@ -73,7 +85,7 @@ test_accounting() > else > id=$qa_group > fi > - repquota -$type $SCRATCH_MNT | grep "^$id" | check_usage 144 3 > + repquota -$type $SCRATCH_MNT | grep "^$id" | check_usage $sz 3 > } > > > -- > 2.44.1 > >