]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
add rbd-nbd test case
authorYunchuan Wen <yunchuan.wen@kylin-cloud.com>
Sun, 15 Nov 2015 01:40:48 +0000 (09:40 +0800)
committerYunchuan Wen <yunchuan.wen@kylin-cloud.com>
Sat, 21 Nov 2015 15:26:44 +0000 (23:26 +0800)
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
qa/workunits/rbd/rbd-nbd.sh [new file with mode: 0755]

diff --git a/qa/workunits/rbd/rbd-nbd.sh b/qa/workunits/rbd/rbd-nbd.sh
new file mode 100755 (executable)
index 0000000..dfc4e6c
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/bash -ex
+
+pool=rbd
+gen=$pool/gen
+data=testfile
+size=64
+dev=/dev/nbd0
+
+mkdir -p rbd_nbd_test
+pushd rbd_nbd_test
+
+function expect_false()
+{
+  if "$@"; then return 1; else return 0; fi
+}
+
+rbd remove $gen || true
+rbd-nbd unmap $dev || true
+
+#read test
+dd if=/dev/urandom of=$data bs=1M count=$size
+rbd --no-progress import $data $gen
+rbd-nbd --device $dev map $gen
+[ "`dd if=$data bs=1M | md5sum`" != "`dd if=$dev bs=1M | md5sum`" ] && false
+
+#write test
+dd if=/dev/urandom of=$data bs=1M count=$size
+dd if=$data of=$dev bs=1M
+sync
+[ "`dd if=$data bs=1M | md5sum`" != "`rbd --no-progress export $gen - | md5sum`" ] && false
+
+#trim test
+mkfs.ext4 $dev # better idea?
+sync
+info=`rbd du $gen | tail -n 1`
+[ "`echo $info | awk '{print $2}'`" == "`echo $info | awk '{print $3}'`" ] && false
+
+rbd-nbd unmap $dev
+popd
+rm -rf rbd_nbd_test
+
+echo OK