[PATCH v2 03/13] common/rc: Add a helper to run fsx on a given file

Ojaswin Mujoo
2025-06-26T11:59:22Z

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.

Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Ojaswin Mujoo <ojaswin@linux.ibm.com>
---
common/rc | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/common/rc b/common/rc
index 3cfa432d..3ac9a4e5 100644
--- a/common/rc
+++ b/common/rc
@@ -5126,16 +5126,26 @@ _set_default_fsx_avoid() {
esac
}

-_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_default_fsx_avoid

- set -- $FSX_PROG $args $FSX_AVOID $TEST_DIR/junk
+ set -- $FSX_PROG $args $FSX_AVOID $testfile
+
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
@@ -5147,6 +5157,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