diff --git a/test/common/autotest_common.sh b/test/common/autotest_common.sh index f7227cd72..c3b276152 100755 --- a/test/common/autotest_common.sh +++ b/test/common/autotest_common.sh @@ -540,6 +540,29 @@ function waitforbdev() { return 1 } +function make_filesystem() { + local fstype=$1 + local dev_name=$2 + local i=0 + local force + + if [ $fstype = ext4 ]; then + force=-F + else + force=-f + fi + + while ! mkfs.${fstype} $force ${dev_name}; do + if [ $i -ge 15 ]; then + return 1 + fi + i=$((i+1)) + sleep 1 + done + + return 0 +} + function killprocess() { # $1 = process pid if [ -z "$1" ]; then diff --git a/test/ftl/restore.sh b/test/ftl/restore.sh index b1a97b3fd..5527ae1af 100755 --- a/test/ftl/restore.sh +++ b/test/ftl/restore.sh @@ -66,7 +66,7 @@ waitfornbd nbd0 $rpc_py save_config > $testdir/config/ftl.json # Prepare the disk by creating ext4 fs and putting a file on it -mkfs.ext4 -F /dev/nbd0 +make_filesystem ext4 /dev/nbd0 mount /dev/nbd0 $mount_dir dd if=/dev/urandom of=$mount_dir/testfile bs=4K count=256K sync diff --git a/test/iscsi_tgt/ext4test/ext4test.sh b/test/iscsi_tgt/ext4test/ext4test.sh index de58f2a96..f9430e88c 100755 --- a/test/iscsi_tgt/ext4test/ext4test.sh +++ b/test/iscsi_tgt/ext4test/ext4test.sh @@ -51,8 +51,8 @@ $rpc_py bdev_error_inject_error EE_Malloc0 'all' 'failure' -n 1000 dev=$(iscsiadm -m session -P 3 | grep "Attached scsi disk" | awk '{print $4}') set +e -waitforfile /dev/$dev -if mkfs.ext4 -F /dev/$dev; then +waitforfile /dev/${dev} +if make_filesystem ext4 /dev/${dev}; then echo "mkfs successful - expected failure" iscsicleanup killprocess $pid @@ -84,9 +84,9 @@ waitforiscsidevices 1 devs=$(iscsiadm -m session -P 3 | grep "Attached scsi disk" | awk '{print $4}') for dev in $devs; do - mkfs.ext4 -F /dev/$dev + make_filesystem ext4 /dev/${dev} mkdir -p /mnt/${dev}dir - mount -o sync /dev/$dev /mnt/${dev}dir + mount -o sync /dev/${dev} /mnt/${dev}dir rsync -qav --exclude=".git" --exclude="*.o" $rootdir/ /mnt/${dev}dir/spdk diff --git a/test/iscsi_tgt/filesystem/filesystem.sh b/test/iscsi_tgt/filesystem/filesystem.sh index 06a2002e7..3813ee7ab 100755 --- a/test/iscsi_tgt/filesystem/filesystem.sh +++ b/test/iscsi_tgt/filesystem/filesystem.sh @@ -78,11 +78,7 @@ sleep 1 function filesystem_test { fstype=$1 - if [ "$fstype" == "ext4" ]; then - mkfs.${fstype} -F /dev/${dev}1 - else - mkfs.${fstype} -f /dev/${dev}1 - fi + make_filesystem ${fstype} /dev/${dev}1 mount /dev/${dev}1 /mnt/device if [ $RUN_NIGHTLY -eq 1 ]; then fio -filename=/mnt/device/test -direct=1 -iodepth 64 -thread=1 -invalidate=1 -rw=randwrite -ioengine=libaio -bs=4k \ diff --git a/test/nvmf/target/filesystem.sh b/test/nvmf/target/filesystem.sh index a47d4169e..262131d15 100755 --- a/test/nvmf/target/filesystem.sh +++ b/test/nvmf/target/filesystem.sh @@ -16,18 +16,7 @@ function nvmf_filesystem_create { fstype=$1 nvme_name=$2 - if [ $fstype = ext4 ]; then - force=-F - else - force=-f - fi - - local i=0 - while ! mkfs.${fstype} $force /dev/${nvme_name}p1; do - [ $i -lt 15 ] || break - i=$((i+1)) - sleep 1 - done + make_filesystem ${fstype} /dev/${nvme_name}p1 mount /dev/${nvme_name}p1 /mnt/device touch /mnt/device/aaa