From bc1917c8bbaeb82ee228af52bca303f7d0075ca5 Mon Sep 17 00:00:00 2001 From: Wenchao Hao Date: Thu, 14 Sep 2023 11:31:13 +0800 Subject: [PATCH] update --- clear.sh | 2 +- error_inject.sh | 2 +- loop.sh | 15 +++++++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/clear.sh b/clear.sh index 59fbf51..8627581 100644 --- a/clear.sh +++ b/clear.sh @@ -5,6 +5,6 @@ source ./error_inject.sh for dev in `lsscsi | grep scsi_debug | awk '{print $6}'` do echo clear error $(basename $dev) - clear_error $(basename $dev) + clear_disk_error $(basename $dev) done diff --git a/error_inject.sh b/error_inject.sh index 38bff8f..e2dd90b 100644 --- a/error_inject.sh +++ b/error_inject.sh @@ -1,4 +1,4 @@ -function clear_error() +function clear_disk_error() { local str=$(lsscsi | grep scsi_debug | grep $1 | awk '{print $1}') local scsi_id=${str#*\[} diff --git a/loop.sh b/loop.sh index 62621b8..ebc0fd4 100644 --- a/loop.sh +++ b/loop.sh @@ -7,14 +7,14 @@ function add_fio() while : do fio_cnt=$(ps aux | grep fio -c) - if [ $fio_cnt -gt 50 ]; then + if [ $fio_cnt -gt 150 ]; then echo "$fio_cnt larger than 50, do not add" continue fi for dev in `lsscsi | grep scsi_debug | awk '{print $6}'` do inject=$[RANDOM%3] - if [ $inject -eq 0 ]; then + if [ $inject -eq 0 ] || [ $inject -eq 1 ] ; then disk=$(basename $dev) threads=$[RANDOM%31+1] echo "add $threads fio for $disk" @@ -71,7 +71,7 @@ function clear_error() inject=$[RANDOM%3] if [ $inject -eq 0 ]; then echo clear error $(basename $dev) - clear_error $(basename $dev) + clear_disk_error $(basename $dev) fi done @@ -85,7 +85,14 @@ function set_running() do for dev in `lsscsi | grep scsi_debug | awk '{print $6}'` do - echo "running" > /sys/block/$(basename $dev)/device/state + disk=$(basename $dev) + state=$(cat /sys/block/$disk/device/state) + if [ "$state" == "offline" ]; then + echo clear error $disk + clear_disk_error $disk 2>&1 > /dev/null + echo "set $disk running" + echo "running" > /sys/block/$disk/device/state + fi done sleep 1