]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/spdk/test/vhost/integrity/integrity_vm.sh
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / spdk / test / vhost / integrity / integrity_vm.sh
index 27eea6fffabddbd5d290edaf900bb6f937376714..ccb01cead750baecd042cd547ab126881de3c3c2 100755 (executable)
@@ -4,69 +4,66 @@ set -xe
 basedir=$(readlink -f $(dirname $0))
 MAKE="make -j$(( $(nproc)  * 2 ))"
 
-script='shopt -s nullglob; \
-    for entry in /sys/block/sd*; do \
-        disk_type="$(cat $entry/device/vendor)"; \
-           if [[ $disk_type == INTEL* ]] || [[ $disk_type == RAWSCSI* ]] || [[ $disk_type == LIO-ORG* ]]; then \
-                fname=$(basename $entry); \
-                echo -n "$fname "; \
-           fi; \
-    done'
+if [[ $1 == "spdk_vhost_scsi" ]]; then
+       devs=""
+       for entry in /sys/block/sd*; do
+               if grep -Eq '(INTEL|RAWSCSI|LIO-ORG)' $entry/device/vendor; then
+                       devs+="$(basename $entry) "
+               fi
+       done
+elif [[ $1 == "spdk_vhost_blk" ]]; then
+       devs=$(cd /sys/block; echo vd*)
+fi
 
-devs="$(echo "$script" | bash -s)"
+fs=$2
 
 trap "exit 1" SIGINT SIGTERM EXIT
-for dev in $devs; do
-        mkfs_cmd="mkfs.$fs"
-        parted_cmd="parted -s /dev/${dev}"
-        if [ "ntfs" == $fs ]; then
-            mkfs_cmd+=" -f -F"
-        elif [ "btrfs" == $fs ]; then
-            mkfs_cmd+=" -f"
-        elif [ "fat" == $fs ]; then
-            mkfs_cmd+=" -I"
-        else
-            mkfs_cmd+=" -F"
-        fi
 
-        echo "INFO: Creating partition table on disk using: $parted_cmd mklabel gpt"
-        $parted_cmd mklabel gpt
-        $parted_cmd mkpart primary $fs 0% 100%
-        sleep 2
+for fs in $fs; do
+       for dev in $devs; do
+               parted_cmd="parted -s /dev/${dev}"
 
+               echo "INFO: Creating partition table on disk using: $parted_cmd mklabel gpt"
+               $parted_cmd mklabel gpt
+               $parted_cmd mkpart primary 2048s 100%
+               sleep 2
+
+               mkfs_cmd="mkfs.$fs"
+               if [[ $fs == "ntfs" ]]; then
+                       mkfs_cmd+=" -f"
+               fi
                mkfs_cmd+=" /dev/${dev}1"
-        echo "INFO: Creating filesystem using: $mkfs_cmd"
-        $mkfscmd
+               echo "INFO: Creating filesystem using: $mkfs_cmd"
+               wipefs -a /dev/${dev}1
+               $mkfs_cmd
 
-        mkdir -p /mnt/${dev}dir
-        mount -o sync /dev/${dev}1 /mnt/${dev}dir
-        mkdir -p /mnt/${dev}dir/linux-src
-        tar xf $basedir/linux-src.tar.gz -C /mnt/${dev}dir/linux-src --strip-components=1
-        sleep 2
+               mkdir -p /mnt/${dev}dir
+               mount -o sync /dev/${dev}1 /mnt/${dev}dir
 
-        # Now build SPDK
-        $MAKE -C /mnt/${dev}dir/linux-src defconfig
-        $MAKE -C /mnt/${dev}dir/linux-src
-        # Print out space consumed on target device to help decide
-        #  if/when we need to increase the size of the malloc LUN
-        df -h /dev/$dev
-        rm -rf /mnt/${dev}dir/linux-src
-done
+               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
+
+               # Print out space consumed on target device
+               df -h /dev/$dev
+       done
 
-for dev in $devs; do
-        umount /mnt/${dev}dir
-        rm -rf /mnt/${dev}dir
+       for dev in $devs; do
+               umount /mnt/${dev}dir
+               rm -rf /mnt/${dev}dir
 
-        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]}
-        printf "WRITE IO cnt: % 8u merges: % 8u sectors: % 8u ticks: % 8u\n" \
-                   ${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]}
-        echo ""
+               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]}
+               printf "WRITE IO cnt: % 8u merges: % 8u sectors: % 8u ticks: % 8u\n" \
+                                                  ${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]}
+               echo ""
+       done
 done
 
 trap - SIGINT SIGTERM EXIT