2021-02-07 16:14:54 +03:00
|
|
|
#!/bin/bash -ex
|
|
|
|
|
2021-06-14 23:11:50 +03:00
|
|
|
. `dirname $0`/run_3osds.sh
|
2022-06-03 01:56:36 +03:00
|
|
|
check_qemu
|
2021-02-07 16:14:54 +03:00
|
|
|
|
|
|
|
# Test basic write and snapshot
|
|
|
|
|
2021-02-10 01:21:57 +03:00
|
|
|
$ETCDCTL put /vitastor/config/inode/1/2 '{"name":"testimg","size":'$((32*1024*1024))'}'
|
|
|
|
|
2022-05-05 02:11:34 +03:00
|
|
|
LD_PRELOAD="build/src/libfio_vitastor.so" \
|
2021-02-10 01:21:57 +03:00
|
|
|
fio -thread -name=test -ioengine=build/src/libfio_vitastor.so -bs=4M -direct=1 -iodepth=1 -fsync=1 -rw=write \
|
|
|
|
-etcd=$ETCD_URL -pool=1 -inode=2 -size=32M -cluster_log_level=10
|
2021-02-07 16:14:54 +03:00
|
|
|
|
2021-02-10 01:21:57 +03:00
|
|
|
$ETCDCTL put /vitastor/config/inode/1/2 '{"name":"testimg@0","size":'$((32*1024*1024))'}'
|
|
|
|
$ETCDCTL put /vitastor/config/inode/1/3 '{"parent_id":2,"name":"testimg","size":'$((32*1024*1024))'}'
|
2021-02-07 16:14:54 +03:00
|
|
|
|
2021-09-25 19:30:25 +03:00
|
|
|
# Preload build/src/libfio_vitastor.so so libasan detects all symbols
|
2022-05-05 02:11:34 +03:00
|
|
|
LD_PRELOAD="build/src/libfio_vitastor.so" \
|
2021-02-10 01:21:57 +03:00
|
|
|
fio -thread -name=test -ioengine=build/src/libfio_vitastor.so -bs=4k -direct=1 -iodepth=1 -fsync=32 -buffer_pattern=0xdeadface \
|
|
|
|
-rw=randwrite -etcd=$ETCD_URL -image=testimg -number_ios=1024
|
2021-02-07 16:14:54 +03:00
|
|
|
|
2022-05-05 02:11:34 +03:00
|
|
|
LD_PRELOAD="build/src/libfio_vitastor.so" \
|
2021-02-07 16:14:54 +03:00
|
|
|
fio -thread -name=test -ioengine=build/src/libfio_vitastor.so -bs=4M -direct=1 -iodepth=1 -rw=read -etcd=$ETCD_URL -pool=1 -inode=3 -size=32M
|
|
|
|
|
|
|
|
qemu-img convert -S 4096 -p \
|
|
|
|
-f raw "vitastor:etcd_host=127.0.0.1\:$ETCD_PORT/v3:pool=1:inode=3:size=$((32*1024*1024))" \
|
|
|
|
-O raw ./testdata/merged.bin
|
|
|
|
|
|
|
|
qemu-img convert -S 4096 -p \
|
2021-02-10 01:21:57 +03:00
|
|
|
-f raw "vitastor:etcd_host=127.0.0.1\:$ETCD_PORT/v3:image=testimg@0" \
|
2021-02-07 16:14:54 +03:00
|
|
|
-O raw ./testdata/layer0.bin
|
|
|
|
|
2021-02-10 01:21:57 +03:00
|
|
|
$ETCDCTL put /vitastor/config/inode/1/3 '{"name":"testimg","size":'$((32*1024*1024))'}'
|
2021-02-07 16:14:54 +03:00
|
|
|
|
|
|
|
qemu-img convert -S 4096 -p \
|
2021-02-10 01:21:57 +03:00
|
|
|
-f raw "vitastor:etcd_host=127.0.0.1\:$ETCD_PORT/v3:image=testimg" \
|
|
|
|
-O raw ./testdata/layer1.bin
|
2021-02-07 16:14:54 +03:00
|
|
|
|
|
|
|
node mon/merge.js ./testdata/layer0.bin ./testdata/layer1.bin ./testdata/check.bin
|
|
|
|
|
|
|
|
cmp ./testdata/merged.bin ./testdata/check.bin
|
|
|
|
|
2021-07-28 02:13:48 +03:00
|
|
|
# Test merge
|
|
|
|
|
|
|
|
$ETCDCTL put /vitastor/config/inode/1/3 '{"parent_id":2,"name":"testimg","size":'$((32*1024*1024))'}'
|
|
|
|
|
2021-09-26 13:14:33 +03:00
|
|
|
build/src/vitastor-cli rm --etcd_address $ETCD_URL testimg@0
|
2021-07-28 02:13:48 +03:00
|
|
|
|
|
|
|
qemu-img convert -S 4096 -p \
|
|
|
|
-f raw "vitastor:etcd_host=127.0.0.1\:$ETCD_PORT/v3:image=testimg" \
|
|
|
|
-O raw ./testdata/merged-by-tool.bin
|
|
|
|
|
|
|
|
cmp ./testdata/merged.bin ./testdata/merged-by-tool.bin
|
|
|
|
|
2021-02-07 16:14:54 +03:00
|
|
|
format_green OK
|