diff --git a/common/rc b/common/rc index d33e3fb9..51352603 100644 --- a/common/rc +++ b/common/rc @@ -3343,6 +3343,20 @@ get_page_size() } +run_fsx() +{ + echo fsx $@ + args=`echo $@ | sed -e "s/ BSIZE / $bsize /g" -e "s/ PSIZE / $psize /g"` + set -- $here/ltp/fsx $args $FSX_AVOID $TEST_DIR/junk + echo "$@" >>$seqres.full + rm -f $TEST_DIR/junk + "$@" 2>&1 | tee -a $seqres.full >$tmp.fsx + if [ ${PIPESTATUS[0]} -ne 0 ]; then + cat $tmp.fsx + exit 1 + fi +} + init_rc ################################################################################ diff --git a/ltp/fsx.c b/ltp/fsx.c index 6da51e99..805fdfb0 100644 --- a/ltp/fsx.c +++ b/ltp/fsx.c @@ -1557,16 +1557,20 @@ int aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset) #endif +#define test_fallocate(mode) __test_fallocate(mode, #mode) + int -test_fallocate(int mode) +__test_fallocate(int mode, const char *mode_str) { #ifdef HAVE_LINUX_FALLOC_H int ret = 0; if (!lite) { if (fallocate(fd, mode, 0, 1) && errno == EOPNOTSUPP) { if(!quiet) - warn("main: filesystem does not support " - "fallocate mode 0x%x, disabling!\n", mode); + fprintf(stderr, + "main: filesystem does not support " + "fallocate mode %s, disabling!\n", + mode_str); } else { ret = 1; ftruncate(fd, 0); @@ -1862,8 +1866,7 @@ main(int argc, char **argv) if (keep_size_calls) keep_size_calls = test_fallocate(FALLOC_FL_KEEP_SIZE); if (punch_hole_calls) - punch_hole_calls = test_fallocate(FALLOC_FL_PUNCH_HOLE | - FALLOC_FL_KEEP_SIZE); + punch_hole_calls = test_fallocate(FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE); if (zero_range_calls) zero_range_calls = test_fallocate(FALLOC_FL_ZERO_RANGE); if (collapse_range_calls) diff --git a/tests/generic/091 b/tests/generic/091 index 30491bfc..da54397f 100755 --- a/tests/generic/091 +++ b/tests/generic/091 @@ -43,18 +43,6 @@ _require_odirect rm -f $seqres.full -run_fsx() -{ - echo fsx $@ | tee -a $seqres.full - args=`echo $@ | sed -e "s/ BSIZE / $bsize /g" -e "s/ PSIZE / $psize /g"` - rm -f $TEST_DIR/junk - $here/ltp/fsx $args $FSX_AVOID $TEST_DIR/junk >>$seqres.full 2>&1 - if [ $? -ne 0 ]; then - cat $seqres.full - exit 1 - fi -} - psize=`$here/src/feature -s` bsize=`_min_dio_alignment $TEST_DEV` diff --git a/tests/generic/263 b/tests/generic/263 index 7584bc7c..b460c827 100755 --- a/tests/generic/263 +++ b/tests/generic/263 @@ -43,18 +43,6 @@ _require_odirect rm -f $seqres.full -run_fsx() -{ - echo fsx $@ | tee -a $seqres.full - args=`echo $@ | sed -e "s/ BSIZE / $bsize /g" -e "s/ PSIZE / $psize /g"` - rm -f $TEST_DIR/junk - $here/ltp/fsx $args $FSX_AVOID $TEST_DIR/junk >>$seqres.full 2>&1 - if [ $? -ne 0 ]; then - cat $seqres.full - exit 1 - fi -} - psize=`$here/src/feature -s` bsize=`_min_dio_alignment $TEST_DEV`