From: Darrick J. Wong <djwong@xxxxxxxxxx> Teach the fail_make_request helpers about external log and realtime devices so that we can use generic/019 on exotic XFS configurations. Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> --- common/fail_make_request | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/common/fail_make_request b/common/fail_make_request index 581d176a..9f8ea500 100644 --- a/common/fail_make_request +++ b/common/fail_make_request @@ -30,18 +30,34 @@ _disallow_fail_make_request() echo 0 > $DEBUGFS_MNT/fail_make_request/verbose } +_bdev_fail_make_request() +{ + local bdev="$1" + local status="$2" + local sysfs_bdev=$(_sysfs_dev $bdev) + + echo " echo $status > $sysfs_bdev/make-it-fail" >> $seqres.full + echo "$status" > $sysfs_bdev/make-it-fail +} + _start_fail_scratch_dev() { - local SYSFS_BDEV=`_sysfs_dev $SCRATCH_DEV` echo "Force SCRATCH_DEV device failure" - echo " echo 1 > $SYSFS_BDEV/make-it-fail" >> $seqres.full - echo 1 > $SYSFS_BDEV/make-it-fail + + _bdev_fail_make_request $SCRATCH_DEV 1 + [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \ + _bdev_fail_make_request $SCRATCH_LOGDEV 1 + [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_RTDEV" ] && \ + _bdev_fail_make_request $SCRATCH_RTDEV 1 } _stop_fail_scratch_dev() { - local SYSFS_BDEV=`_sysfs_dev $SCRATCH_DEV` echo "Make SCRATCH_DEV device operable again" - echo " echo 0 > $SYSFS_BDEV/make-it-fail" >> $seqres.full - echo 0 > $SYSFS_BDEV/make-it-fail + + [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_RTDEV" ] && \ + _bdev_fail_make_request $SCRATCH_RTDEV 0 + [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \ + _bdev_fail_make_request $SCRATCH_LOGDEV 0 + _bdev_fail_make_request $SCRATCH_DEV 0 }