On Tue, Jul 14, 2020 at 05:40:06PM +0800, Xiao Yang wrote: > 1) Simple code and fix the wrong value of stripe_width by _scratch_mkfs_geom(). > 2) Get hugepage size by _get_hugepagesize() and replace fixed 2M with > hugepage size because hugepage size/PMD_SIZE is not 2M on some > arches(e.g. hugepage size/PMD_SIZE is 512M on arm64). > 3) For debugging, redirect the output of mkfs to $seqres.full. > > Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxxxxx> Thanks for making this change... Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --D > --- > common/rc | 10 ++++++++++ > tests/generic/413 | 10 ++-------- > tests/xfs/260 | 4 ++-- > 3 files changed, 14 insertions(+), 10 deletions(-) > > diff --git a/common/rc b/common/rc > index 567cf83b..b6a48241 100644 > --- a/common/rc > +++ b/common/rc > @@ -170,6 +170,16 @@ _get_filesize() > stat -c %s "$1" > } > > +# Get hugepagesize in bytes > +_get_hugepagesize() > +{ > + local hugepgsz=$(awk '/Hugepagesize/ {print $2}' /proc/meminfo) > + # Call _notrun if $hugepgsz is not a number > + echo "$hugepgsz" | egrep -q ^[0-9]+$ || \ > + _notrun "Cannot get the value of Hugepagesize" > + echo $((hugepgsz * 1024)) > +} > + > _mount() > { > $MOUNT_PROG `_mount_ops_filter $*` > diff --git a/tests/generic/413 b/tests/generic/413 > index 19e1b926..dfe2912b 100755 > --- a/tests/generic/413 > +++ b/tests/generic/413 > @@ -111,14 +111,8 @@ do_tests() > t_mmap_dio_dax $((64 * 1024 * 1024)) > } > > -# make fs 2Mb aligned for PMD fault testing > -mkfs_opts="" > -if [ "$FSTYP" == "ext4" ]; then > - mkfs_opts="-E stride=512,stripe_width=1" > -elif [ "$FSTYP" == "xfs" ]; then > - mkfs_opts="-d su=2m,sw=1" > -fi > -_scratch_mkfs "$mkfs_opts" > /dev/null 2>&1 > +# make fs aligned for PMD fault testing > +_scratch_mkfs_geom $(_get_hugepagesize) 1 >> $seqres.full 2>&1 > > # mount SCRATCH_DEV with dax option, TEST_DEV not > export MOUNT_OPTIONS="" > diff --git a/tests/xfs/260 b/tests/xfs/260 > index bcdc6041..81b42f01 100755 > --- a/tests/xfs/260 > +++ b/tests/xfs/260 > @@ -121,8 +121,8 @@ do_tests() > t_dax_flag_mmap_dio $((64 * 1024 * 1024)) > } > > -# make xfs 2Mb aligned for PMD fault testing > -_scratch_mkfs "-d su=2m,sw=1" > /dev/null 2>&1 > +# make xfs aligned for PMD fault testing > +_scratch_mkfs_geom $(_get_hugepagesize) 1 >> $seqres.full 2>&1 > > # mount with dax option > _scratch_mount "-o dax" > -- > 2.21.0 > > >