]>
git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/test/vhost/integrity/integrity_vm.sh
4 MAKE
="make -j$(($(nproc) * 2))"
6 if [[ $1 == "spdk_vhost_scsi" ]]; then
8 for entry
in /sys
/block
/sd
*; do
9 if grep -Eq '(INTEL|RAWSCSI|LIO-ORG)' $entry/device
/vendor
; then
10 devs
+="$(basename $entry) "
13 elif [[ $1 == "spdk_vhost_blk" ]]; then
22 trap "exit 1" SIGINT SIGTERM EXIT
27 parted_cmd
="parted -s /dev/${dev}"
29 echo "INFO: Creating partition table on disk using: $parted_cmd mklabel gpt"
30 $parted_cmd mklabel gpt
31 while ! ($parted_cmd print |
grep -q gpt
); do
32 [[ $i -lt 100 ]] ||
break
36 $parted_cmd mkpart primary
2048s
100%
39 if [[ $fs == "ntfs" ]]; then
42 mkfs_cmd
+=" /dev/${dev}1"
43 echo "INFO: Creating filesystem using: $mkfs_cmd"
45 until wipefs
-a /dev
/${dev}1; do
46 [[ $i -lt 100 ]] ||
break
48 echo "Waiting for /dev/${dev}1"
53 mkdir
-p /mnt
/${dev}dir
54 mount
-o sync
/dev
/${dev}1 /mnt
/${dev}dir
56 fio
--name="integrity" --bsrange=4k-512k
--iodepth=128 --numjobs=1 --direct=1 \
57 --thread=1 --group_reporting=1 --rw=randrw
--rwmixread=70 \
58 --filename=/mnt
/${dev}dir
/test_file
--verify=md5
--do_verify=1 \
59 --verify_backlog=1024 --fsync_on_close=1 --runtime=20 --time_based=1 --size=512m
61 # Print out space consumed on target device
68 parted
-s /dev
/${dev} rm 1
70 stats
=($
(cat /sys
/block
/$dev/stat
))
73 printf "READ IO cnt: % 8u merges: % 8u sectors: % 8u ticks: % 8u\n" \
74 ${stats[0]} ${stats[1]} ${stats[2]} ${stats[3]}
75 printf "WRITE IO cnt: % 8u merges: % 8u sectors: % 8u ticks: % 8u\n" \
76 ${stats[4]} ${stats[5]} ${stats[6]} ${stats[7]}
77 printf "in flight: % 8u io ticks: % 8u time in queue: % 8u\n" \
78 ${stats[8]} ${stats[9]} ${stats[10]}
83 trap - SIGINT SIGTERM EXIT