blob: c8efc07befa6fe4022bfe058469023c722383a02 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/bin/sh -x
selfDir="$(dirname -- "$(realpath -- "$0")")"
data="$(mktemp -d)"
config="$selfDir/../pkg/config"
mount -t tmpfs -- / "$data"
truncate -s 10G -- "$data/test.r1"
sed -Ei "s#^basePath=.*#basePath=$(realpath -- "$data")#" -- "$config/server.conf"
cat -- "$config/server.conf"
"$selfDir/../src/server/dnbd3-server" -nc "$config" & pid="$!"
while ! grep -qF ":$(printf %04X 5003)" /proc/net/tcp; do sleep 1; done
modprobe iscsi_tcp
iscsistart -i initiator -g 1 -p 5003 -a 127.0.0.1 -t test
deviceSysfs="$(printf %s /sys/class/iscsi_session/session*/device/target*/*/block/*)"
device="$(basename -- "$deviceSysfs")"
sleep 3
echo "<plaintext>" > performance.html
(
uname -a
iscsi-perf -t 5 iscsi://localhost:5003/test/0
dd status=progress if="/dev/$device" of=/dev/null
dd status=progress if="/dev/$device" of=/dev/null bs=1M
dd status=progress if="/dev/$device" of=/dev/null bs=16M
) 2>&1 | tee -a performance.html
dmesg
# echo 1 >"$deviceSysfs/../../delete"
kill -- "$pid"
umount -l -- "$data"
sessionId="${deviceSysfs%%/device/*}"
sessionId="${sessionId##*/session}"
test -e "$selfDir/iscsi-destroy/iscsi-destroy" || go -C "$selfDir/iscsi-destroy" build
"$selfDir/iscsi-destroy/iscsi-destroy" "$sessionId" || :
|