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 |