On Wed, Jun 11, 2025 at 07:31:38AM -0700, Darrick J. Wong wrote: > On Wed, Jun 11, 2025 at 03:04:45PM +0530, Ojaswin Mujoo wrote: > > Currently run_fsx is hardcoded to run on a file in $TEST_DIR. > > Add a helper _run_fsx_on_file so that we can run fsx on any > > given file including in $SCRATCH_MNT. Also, refactor _run_fsx > > to use this helper. > > > > No functional change is intended in this patch. > > > > Signed-off-by: Ojaswin Mujoo <ojaswin@xxxxxxxxxxxxx> > > --- > > common/rc | 21 ++++++++++++++++++--- > > 1 file changed, 18 insertions(+), 3 deletions(-) > > > > diff --git a/common/rc b/common/rc > > index cfbe2a5f..a5d811a1 100644 > > --- a/common/rc > > +++ b/common/rc > > @@ -5115,13 +5115,22 @@ _require_hugepage_fsx() > > _notrun "fsx binary does not support MADV_COLLAPSE" > > } > > > > -_run_fsx() > > +_run_fsx_on_file() > > { > > + local testfile=$1 > > + shift > > + > > + if ! [ -f $testfile ] > > + then > > + echo "_run_fsx_on_file: $testfile doesn't exist. Creating" >> $seqres.full > > + touch $testfile > > + fi > > + > > echo "fsx $*" > > local args=`echo $@ | sed -e "s/ BSIZE / $bsize /g" -e "s/ PSIZE / $psize /g"` > > - set -- $FSX_PROG $args $FSX_AVOID $TEST_DIR/junk > > + set -- $FSX_PROG $args $FSX_AVOID $testfile > > local testfile="${1:-$TEST_DIR/junk}" > ... > set -- $FSX_PROG $args $FSX_AVOID $testfile > > Then you don't need the extra helper. Hi Darrick, I originally added the extra helper so that we won't need to change the existing run_fsx calls. For example, with the change you suggested, generic/263 would need to be changed from: run_fsx -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z to run_fsx $TEST_DIR/junk -N 10000 -o 8192 -l 500000 -r PSIZE -t BSIZE -w BSIZE -Z because otherwise, the $1 would actually be "-N" and run_fsx would get confused. However, if you would prefer to drop the helper and rather modify run_fsx and the call sites to pass a filename, that should be doable as well. Please let me know your preference on this. Regards, ojaswin > > --D > > > echo "$@" >>$seqres.full > > - rm -f $TEST_DIR/junk > > + rm -f $testfile > > "$@" 2>&1 | tee -a $seqres.full >$tmp.fsx > > local res=${PIPESTATUS[0]} > > if [ $res -ne 0 ]; then > > @@ -5133,6 +5142,12 @@ _run_fsx() > > return 0 > > } > > > > +_run_fsx() > > +{ > > + _run_fsx_on_file $TEST_DIR/junk $@ > > + return $? > > +} > > + > > # Run fsx with -h(ugepage buffers). If we can't set up a hugepage then skip > > # the test, but if any other error occurs then exit the test. > > _run_hugepage_fsx() { > > -- > > 2.49.0 > > > >