@@ -2995,6 +2995,16 @@ _short_dev()
echo `basename $(_real_dev $1)`
}
+_sysfs_dev()
+{
+ local _dev=$1
+ local _maj=$(stat -c%t $_dev | tr [:lower:] [:upper:])
+ local _min=$(stat -c%T $_dev | tr [:lower:] [:upper:])
+ _maj=$(echo "ibase=16; $_maj" | bc)
+ _min=$(echo "ibase=16; $_min" | bc)
+ echo /sys/dev/block/$_maj:$_min
+}
+
get_block_size()
{
if [ -z $1 ] || [ ! -d $1 ]; then
@@ -53,19 +53,19 @@ _require_scratch
_require_fail_make_request
_need_to_be_root
-SCRATCH_BDEV=`_short_dev $SCRATCH_DEV`
+SYSFS_BDEV=`_sysfs_dev $SCRATCH_DEV`
enable_io_failure()
{
echo 100 > $DEBUGFS_MNT/fail_make_request/probability
echo 1000 > $DEBUGFS_MNT/fail_make_request/times
echo 0 > $DEBUGFS_MNT/fail_make_request/verbose
- echo 1 > /sys/block/$SCRATCH_BDEV/make-it-fail
+ echo 1 > $SYSFS_BDEV/make-it-fail
}
disable_io_failure()
{
- echo 0 > /sys/block/$SCRATCH_BDEV/make-it-fail
+ echo 0 > $SYSFS_BDEV/make-it-fail
echo 0 > $DEBUGFS_MNT/fail_make_request/probability
echo 0 > $DEBUGFS_MNT/fail_make_request/times
}
@@ -41,7 +41,7 @@ _need_to_be_root
_require_scratch
_require_fail_make_request
-SCRATCH_BDEV=`_short_dev $SCRATCH_DEV`
+SYSFS_BDEV=`_sysfs_dev $SCRATCH_DEV`
allow_fail_make_request()
{
@@ -61,17 +61,15 @@ disallow_fail_make_request()
start_fail_scratch_dev()
{
echo "Force SCRATCH_DEV device failure"
- echo " echo 1 > /sys/block/$SCRATCH_BDEV/make-it-fail" >> $seqres.full
- echo 1 > /sys/block/$SCRATCH_BDEV/make-it-fail
-
+ echo " echo 1 > $SYSFS_BDEV/make-it-fail" >> $seqres.full
+ echo 1 > $SYSFS_BDEV/make-it-fail
}
stop_fail_scratch_dev()
{
echo "Make SCRATCH_DEV device operable again"
- echo " echo 0 > /sys/block/$SCRATCH_BDEV/make-it-fail" >> $seqres.full
- echo 0 > /sys/block/$SCRATCH_BDEV/make-it-fail
-
+ echo " echo 0 > $SYSFS_BDEV/make-it-fail" >> $seqres.full
+ echo 0 > $SYSFS_BDEV/make-it-fail
}
_cleanup()