Currently we're checking file system consistency on TEST_DEV after every successful test run even though the TEST_DEV might not even be used in that test. Fix it by checking for number of write io on TEST_DEV device before the test and compare it with the value after the test. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> --- check | 6 +++++- common/rc | 11 +++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/check b/check index 40f99d7..66d0f72 100755 --- a/check +++ b/check @@ -544,6 +544,7 @@ for section in $HOST_OPTIONS_SECTIONS; do rm -f core $seqres.notrun scratch_atime=`stat -c %X $SCRATCH_DEV` + test_write_io=`_get_write_io_count $TEST_DEV` start=`_wallclock` $timestamp && echo -n " ["`date "+%T"`"]" [ ! -x $seq ] && chmod u+x $seq # ensure we can run it @@ -626,7 +627,10 @@ for section in $HOST_OPTIONS_SECTIONS; do then try="$try $seqnum" n_try=`expr $n_try + 1` - _check_test_fs + write_io=`_get_write_io_count $TEST_DEV` + if [ -z $test_write_io ] || [ $write_io -ne $test_write_io ]; then + _check_test_fs + fi atime=`stat -c %X $SCRATCH_DEV` if [ $atime -ne $scratch_atime ]; then _check_scratch_fs diff --git a/common/rc b/common/rc index 95030ae..83e8734 100644 --- a/common/rc +++ b/common/rc @@ -2165,6 +2165,17 @@ _scale_fsstress_args() echo $args } +_get_write_io_count() +{ + if [ -z $1 ]; then + echo "Missing device argument for _get_write_io_count" + exit 1 + fi + major_minor=$(printf "%d:%d" `stat -c "0x%t" $1` `stat -c "0x%T" $1`) + sync + cat /sys/dev/block/${major_minor}/stat 2> /dev/null | awk '{print $5}' +} + # # Return the logical block size if running on a block device, # else substitute the page size. -- 1.8.3.1 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs