[sheepdog] [PATCH v8 06/10] sheep: add traverse_btree() to list and check vdi
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Mon Jan 20 04:25:15 CET 2014
At Wed, 20 Nov 2013 14:04:43 +0800,
Robin Dong wrote:
>
> +
> +/* dump the information of B-tree */
> +static void dump_btree(read_node_fn reader, struct sd_inode *inode)
> +{
> +#ifdef DEBUG
> + sd_info("btree> BEGIN");
> + traverse_btree(reader, inode, dump_cb, NULL);
> + sd_info("btree> END");
> #endif
> }
Seems that this function causes a segfault with our functional tests.
Do you have any ideas why this happens?
==
$ sudo ./check 16
PLATFORM -- Linux/x86_64 hanna 3.10.11
016 Last Used:21s. Test vdi clone functionality - output mismatch (see 016.out.bad)
--- 016.out 2014-01-20 11:54:55.000000000 +0900
+++ 016.out.bad 2014-01-20 12:06:51.000000000 +0900
@@ -1,12 +1,27 @@
QA output created by 016
using backend plain store
+btree> BEGIN
+btree> HEAD: magic 49784 entries 0 depth 84
+PANIC: This B-tree not support depth 84
+dog exits unexpectedly (Aborted).
+dog.c:351: crash_handler
+/lib/x86_64-linux-gnu/libpthread.so.0(+0xf02f) [0x7f33aa85902f]
+/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x34) [0x7f33aa2e8474]
+/lib/x86_64-linux-gnu/libc.so.6(abort+0x17f) [0x7f33aa2eb6ef]
+sd_inode.c:180: traverse_btree
+sd_inode.c:213: dump_btree
+sd_inode.c:617: sd_inode_set_vid
+vdi.c:639: vdi_create
+dog.c:519: main
+/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfc) [0x7f33aa2d4eac]
+../../dog/dog() [0x403708]
there should be no vdi
Name Id Size Used Shared Creation time VDI id Copies Tag
there should be no object
STORE DATA VDI VMSTATE ATTR STALE
-0 0 3 0 0 0
-1 0 3 0 0 0
-2 0 3 0 0 0
-3 0 3 0 0 0
-4 0 3 0 0 0
-5 0 3 0 0 0
+0 1 3 0 0 0
+1 1 3 0 0 0
+2 1 3 0 0 0
+3 1 3 0 0 0
+4 1 3 0 0 0
+5 1 3 0 0 0
Failures: 016
Failed 1 of 1 tests
More information about the sheepdog
mailing list