mtree_test_erase(mt, 4); // 0x9
mtree_test_load(mt, 5); // (nil)
mtree_test_erase(mt, 0); // 0x1
+ mtree_destroy(mt);
+
+ /*
+ * 3. Cause a node overflow on copy
+ * Fixed by using the correct check for node size in mas_wr_modify()
+ * Also discovered issue with metadata setting.
+ */
+ mt_init_flags(mt, 0);
+ mtree_test_store_range(mt, 0, 18446744073709551615UL, (void*)0x1); // 0
+ mtree_test_store(mt, 4, (void*)0x9); // 0
+ mtree_test_erase(mt, 5); // 0x1
+ mtree_test_erase(mt, 0); // 0x1
+ mtree_test_erase(mt, 4); // 0x9
+ mtree_test_store(mt, 5, (void*)0xb); // 0
+ mtree_test_erase(mt, 5); // 0xb
+ mtree_test_store(mt, 5, (void*)0xb); // 0
+ mtree_test_erase(mt, 5); // 0xb
+ mtree_test_erase(mt, 4); // (nil)
+ mtree_test_store(mt, 4, (void*)0x9); // 0
+ mtree_test_store(mt, 444, (void*)0x379); // 0
+ mtree_test_store(mt, 0, (void*)0x1); // 0
+ mtree_test_load(mt, 0); // 0x1
+ mtree_test_store(mt, 5, (void*)0xb); // 0
+ mtree_test_erase(mt, 0);
}
static DEFINE_MTREE(tree);