Helper that creates files of specified size using falloc if supported, otherwise pwrite is used. Signed-off-by: Pavel Reichl <preichl@xxxxxxxxxx> --- common/rc | 13 +++++++++++++ tests/generic/694 | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/common/rc b/common/rc index a25cbcd0..77866582 100644 --- a/common/rc +++ b/common/rc @@ -4925,6 +4925,19 @@ hexdump() _fail "Use _hexdump(), please!" } +# Helper to write a file containing specified number of bytes using +# falloc if supported, otherwise use pwrite +_create_sizedfile() +{ + length=$1 + file=$2 + + $XFS_IO_PROG -F -fc "falloc 0 $length" $file 2>&1 | grep -q "Operation not supported" + if [ $? -eq 0 ]; then + $XFS_IO_PROG -F -fc "pwrite -W 0 $length" $file >/dev/null + fi +} + init_rc ################################################################################ diff --git a/tests/generic/694 b/tests/generic/694 index dfd988df..64c3dd9a 100755 --- a/tests/generic/694 +++ b/tests/generic/694 @@ -30,7 +30,7 @@ junk_dir=$TEST_DIR/$seq junk_file=$junk_dir/junk mkdir -p $junk_dir -$XFS_IO_PROG -f -c "pwrite -W 0 4G" $junk_file > /dev/null +_create_sizedfile 4G $junk_file iblocks=`stat -c '%b' $junk_file` -- 2.37.3