On Mon, Feb 24, 2020 at 12:18:19AM +0800, Zorro Lang wrote: > On Sun, Feb 23, 2020 at 08:45:48PM +0800, Eryu Guan wrote: > > On Wed, Feb 19, 2020 at 12:58:18AM +0800, Zorro Lang wrote: > > > The minimal I/O preallocation size is page size. The allocsize=4k > > > always fails on 64k pagesize machine. So change the fs blocksize > > > allocsize test to allocsize=64k. > > > > > > Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx> > > > > I think it's better to make the page size auto-detected, and filter out > > the actual size to something like "PAGESIZE" in .out file. > > > > > --- > > > tests/xfs/513 | 4 ++-- > > > tests/xfs/513.out | 2 +- > > > 2 files changed, 3 insertions(+), 3 deletions(-) > > > > > > diff --git a/tests/xfs/513 b/tests/xfs/513 > > > index 70bc2f1c..3c3f5163 100755 > > > --- a/tests/xfs/513 > > > +++ b/tests/xfs/513 > > > @@ -178,13 +178,13 @@ do_test() > > > > > > echo "** start xfs mount testing ..." > > > # Test allocsize=size > > > -# Valid values for this option are page size (typically 4KiB) through to 1GiB > > > +# Valid values for this option are page size through to 1GiB >From this test description, it seems we're not only testing the arg-parsing part, but also testing if kernel could mount the ending fs. So I thought changing 4k to 64k would lose some test coverage, the normal 4k pagesize case is lost. > > > do_mkfs > > > if [ $dbsize -ge 1024 ];then > > > blsize="$((dbsize / 1024))k" > > > fi > > > do_test "" pass "allocsize" "false" > > > -do_test "-o allocsize=$blsize" pass "allocsize=$blsize" "true" > > > +do_test "-o allocsize=64k" pass "allocsize=64k" "true" > > > > do_test "-o allocsize=PAGESIZE" pass "allocsize=PAGESIZE" "true" > > > > And do_test converts the "PAGESIZE" to actual page size. > > I thought about that too, but due to this case only uses PAGESIZE once > at here. So I don't know if it's worth changing much code for that. > And I don't think the PAGESIZE is necessary for this test, 4k and 64k > are all fine for me. The case just trys to make sure 4k/64k can be parsed by > fs_parse(). If it only wants to make sure fs_parse() could parse the arg, then I'm fine with the fix. Thanks, Eryu > > What do you think? > > Thanks, > Zorro > > > > > > do_test "-o allocsize=1048576k" pass "allocsize=1048576k" "true" > > > do_test "-o allocsize=$((dbsize / 2))" fail > > > do_test "-o allocsize=2g" fail > > > diff --git a/tests/xfs/513.out b/tests/xfs/513.out > > > index 9be18dd8..2d9f8384 100644 > > > --- a/tests/xfs/513.out > > > +++ b/tests/xfs/513.out > > > @@ -5,7 +5,7 @@ QA output created by 513 > > > ** start xfs mount testing ... > > > FORMAT: > > > TEST: "" "pass" "allocsize" "false" > > > -TEST: "-o allocsize=4k" "pass" "allocsize=4k" "true" > > > +TEST: "-o allocsize=64k" "pass" "allocsize=64k" "true" > > > > So .out prints "... allocsize=PAGESIZE" ... > > > > Thanks, > > Eryu > > > > > TEST: "-o allocsize=1048576k" "pass" "allocsize=1048576k" "true" > > > TEST: "-o allocsize=2048" "fail" > > > TEST: "-o allocsize=2g" "fail" > > > -- > > > 2.20.1 > > > > > >