[sheepdog] [PATCH v3 1/3] tests/functional: add a new test for vdi check with the condition nr_zones < inode->nr_copies
Hitoshi Mitake
mitake.hitoshi at gmail.com
Sat Jan 11 15:44:27 CET 2014
From: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
The newly added test checks that "dog vdi check" can check and recover
lost inode objects well under the condition of nr_zones <
inode->nr_copies. Previous "dog vdi check" rises panic in such a case.
Reviewed-by: Marcin Mirosław <marcin at mejor.pl>
Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
---
v3: overwrite zone of sheep with passing "-z N" to _start_sheep
tests/functional/083 | 40 ++++++++++++++++++++++++++++++++++++++++
tests/functional/083.out | 11 +++++++++++
tests/functional/group | 1 +
3 files changed, 52 insertions(+)
create mode 100755 tests/functional/083
create mode 100644 tests/functional/083.out
diff --git a/tests/functional/083 b/tests/functional/083
new file mode 100755
index 0000000..ae59393
--- /dev/null
+++ b/tests/functional/083
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# Test vdi repair functionality with the condition nr_zones < inode->nr_copies
+
+. ./common
+
+for i in `seq 0 1`; do
+ _start_sheep $i "-z 0"
+done
+
+_start_sheep 2 "-z 1"
+
+_wait_for_sheep 3
+
+$DOG node list
+
+# 3 copies, 2 zones
+_cluster_format
+
+$DOG vdi create test 12M
+_vdi_list
+
+echo "original data" | $DOG vdi write test
+
+$DOG cluster shutdown
+
+rm $STORE/1/obj/007c2b2500000000
+
+for i in `seq 0 1`; do
+ _start_sheep $i "-z 0"
+done
+
+_start_sheep 2 "-z 1"
+
+_wait_for_sheep 3
+
+$DOG vdi check test
+
+$DOG vdi read test 0 14
+
diff --git a/tests/functional/083.out b/tests/functional/083.out
new file mode 100644
index 0000000..0f4cb8a
--- /dev/null
+++ b/tests/functional/083.out
@@ -0,0 +1,11 @@
+QA output created by 083
+ Id Host:Port V-Nodes Zone
+ 0 127.0.0.1:7000 128 0
+ 1 127.0.0.1:7001 128 0
+ 2 127.0.0.1:7002 128 1
+using backend plain store
+ Name Id Size Used Shared Creation time VDI id Copies Tag
+ test 0 12 MB 0.0 MB 0.0 MB DATE 7c2b25 3
+fixed missing 7c2b2500000000
+finish check&repair test
+original data
diff --git a/tests/functional/group b/tests/functional/group
index 4015610..9b17e97 100644
--- a/tests/functional/group
+++ b/tests/functional/group
@@ -97,3 +97,4 @@
080 auto quick vdi md
081 auto quick vdi md
082 auto quick vdi md
+083 auto quick vdi
--
1.8.1.2
More information about the sheepdog
mailing list