]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/spdk/test/vhost/integrity/integrity_vm.sh
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / test / vhost / integrity / integrity_vm.sh
index 8082f6bec12708669052b8dec8a155f0b808e608..5e83fef955b79542d9991329abea57187c7ffb22 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 set -xe
 
-MAKE="make -j$(( $(nproc)  * 2 ))"
+MAKE="make -j$(($(nproc) * 2))"
 
 if [[ $1 == "spdk_vhost_scsi" ]]; then
        devs=""
@@ -11,7 +11,10 @@ if [[ $1 == "spdk_vhost_scsi" ]]; then
                fi
        done
 elif [[ $1 == "spdk_vhost_blk" ]]; then
-       devs=$(cd /sys/block; echo vd*)
+       devs=$(
+               cd /sys/block
+               echo vd*
+       )
 fi
 
 fs=$2
@@ -20,12 +23,17 @@ trap "exit 1" SIGINT SIGTERM EXIT
 
 for fs in $fs; do
        for dev in $devs; do
+               i=0
                parted_cmd="parted -s /dev/${dev}"
 
                echo "INFO: Creating partition table on disk using: $parted_cmd mklabel gpt"
                $parted_cmd mklabel gpt
+               while ! ($parted_cmd print | grep -q gpt); do
+                       [[ $i -lt 100 ]] || break
+                       i=$((i + 1))
+                       sleep 0.1
+               done
                $parted_cmd mkpart primary 2048s 100%
-               sleep 2
 
                mkfs_cmd="mkfs.$fs"
                if [[ $fs == "ntfs" ]]; then
@@ -33,16 +41,22 @@ for fs in $fs; do
                fi
                mkfs_cmd+=" /dev/${dev}1"
                echo "INFO: Creating filesystem using: $mkfs_cmd"
-               wipefs -a /dev/${dev}1
+               i=0
+               until wipefs -a /dev/${dev}1; do
+                       [[ $i -lt 100 ]] || break
+                       i=$((i + 1))
+                       echo "Waiting for /dev/${dev}1"
+                       sleep 0.1
+               done
                $mkfs_cmd
 
                mkdir -p /mnt/${dev}dir
                mount -o sync /dev/${dev}1 /mnt/${dev}dir
 
                fio --name="integrity" --bsrange=4k-512k --iodepth=128 --numjobs=1 --direct=1 \
-               --thread=1 --group_reporting=1 --rw=randrw --rwmixread=70 \
-               --filename=/mnt/${dev}dir/test_file --verify=md5 --do_verify=1 \
-               --verify_backlog=1024 --fsync_on_close=1 --runtime=20 --time_based=1 --size=512m
+                       --thread=1 --group_reporting=1 --rw=randrw --rwmixread=70 \
+                       --filename=/mnt/${dev}dir/test_file --verify=md5 --do_verify=1 \
+                       --verify_backlog=1024 --fsync_on_close=1 --runtime=20 --time_based=1 --size=512m
 
                # Print out space consumed on target device
                df -h /dev/$dev
@@ -51,16 +65,17 @@ for fs in $fs; do
        for dev in $devs; do
                umount /mnt/${dev}dir
                rm -rf /mnt/${dev}dir
+               parted -s /dev/${dev} rm 1
 
-               stats=( $(cat /sys/block/$dev/stat) )
+               stats=($(cat /sys/block/$dev/stat))
                echo ""
                echo "$dev stats"
                printf "READ  IO cnt: % 8u merges: % 8u sectors: % 8u ticks: % 8u\n" \
-                                                  ${stats[0]} ${stats[1]} ${stats[2]} ${stats[3]}
+                       ${stats[0]} ${stats[1]} ${stats[2]} ${stats[3]}
                printf "WRITE IO cnt: % 8u merges: % 8u sectors: % 8u ticks: % 8u\n" \
-                                                  ${stats[4]} ${stats[5]} ${stats[6]} ${stats[7]}
+                       ${stats[4]} ${stats[5]} ${stats[6]} ${stats[7]}
                printf "in flight: % 8u io ticks: % 8u time in queue: % 8u\n" \
-                                                  ${stats[8]} ${stats[9]} ${stats[10]}
+                       ${stats[8]} ${stats[9]} ${stats[10]}
                echo ""
        done
 done