#!/bin/bash -ex
+# 1) run_smr_bluestore_test.sh
+# Setup smr device, run all tests
+
+# 2) run_smr_bluestore_test.sh --smr
+# Setup smr device but skip tests failing on smr
+
+
+before_creation=$(mktemp)
+lsscsi > $before_creation
+
echo "cd /backstores/user:zbc
create name=zbc0 size=20G cfgstring=model-HM/zsize-256/conv-10@zbc0.raw
+/loopback create
cd /loopback
create naa.50014055e5f25aa0
-cd naa.50014055e5f25aa$1/luns
+cd naa.50014055e5f25aa0/luns
create /backstores/user:zbc/zbc0 0
" | sudo targetcli
+sleep 1 #if too fast device does not show up
+after_creation=$(mktemp)
+lsscsi > $after_creation
+if [[ $(diff $before_creation $after_creation | wc -l ) != 2 ]]
+then
+ echo New zbc device not created
+ false
+fi
+
function cleanup() {
echo "cd /loopback
-delete naa.50014055e5f25aa$1
+delete naa.50014055e5f25aa0
cd /backstores/user:zbc
delete zbc0" | sudo targetcli
sudo rm -f zbc0.raw
+ rm -f $before_creation $after_creation
}
trap cleanup EXIT
-DEV=`lsscsi | grep zbc | awk '{print $7}'`
-
+DEV=$(diff $before_creation $after_creation |grep zbc |sed "s@.* /@/@")
+sudo chmod 666 $DEV
+# Need sudo
+# https://patchwork.kernel.org/project/linux-block/patch/20210811110505.29649-3-Niklas.Cassel@wdc.com/
sudo ceph_test_objectstore \
--bluestore-block-path $DEV \
--gtest_filter=*/2 \