mtree_test_load(mt, 67); // 0x20cbf
mtree_test_insert(mt, 1, (void *)0x3); // -17
mtree_test_erase(mt, 67167); // 0x87
+ mtree_destroy(mt);
+
+ /*
+ * 9. spanning store to the end of data caused an invalid metadata
+ * length which resulted in a crash eventually.
+ * Fix by checking if there is a value in pivot before incrementing the
+ * metadata end in mab_mas_cp(). To ensure this doesn't happen again,
+ * abstract the two locations this happens into a function called
+ * mas_leaf_set_meta().
+ */
+ mt_init_flags(mt, 0);
+ mtree_test_insert(mt, 21, (void *)0x2b); // 0
+ mtree_test_insert(mt, 12, (void *)0x19); // 0
+ mtree_test_insert(mt, 6, (void *)0xd); // 0
+ mtree_test_insert(mt, 8, (void *)0x11); // 0
+ mtree_test_insert(mt, 2, (void *)0x5); // 0
+ mtree_test_insert(mt, 91, (void *)0xb7); // 0
+ mtree_test_insert(mt, 18, (void *)0x25); // 0
+ mtree_test_insert(mt, 81, (void *)0xa3); // 0
+ mtree_test_store_range(mt, 0, 128, (void *)0x1); // 0
+ mtree_test_store(mt , 1, (void *)0x3); // 0
+ mtree_test_erase(mt, 8); // (nil)
+ mtree_test_insert(mt, 11, (void *)0x17); // 0
+ mtree_test_insert(mt, 8, (void *)0x11); // 0
+ mtree_test_insert(mt, 21, (void *)0x2b); // 0
+ mtree_test_insert(mt, 2, (void *)0x5); // 0
+ mtree_test_insert(mt, 18446744073709551605UL, (void *)0xffffffffffffffeb); // 0
+ mtree_test_erase(mt, 18446744073709551605UL); // 0x1
+ mtree_test_store_range(mt, 0, 281, (void *)0x1); // 0
+ mtree_test_erase(mt, 2); // 0xffffffffffffffeb
+ mtree_test_insert(mt, 1211, (void *)0x977); // 0
+ mtree_test_insert(mt, 111, (void *)0xdf); // 0
+ mtree_test_insert(mt, 13, (void *)0x1b); // 0
+ mtree_test_insert(mt, 211, (void *)0x1a7); // 0
+ mtree_test_insert(mt, 11, (void *)0x17); // 0
+ mtree_test_insert(mt, 5, (void *)0xb); // 0
+ mtree_test_insert(mt, 1218, (void *)0x985); // 0
+ mtree_test_insert(mt, 61, (void *)0x7b); // 0
+ mtree_test_store(mt , 1, (void *)0x3); // 0
+ mtree_test_insert(mt, 121, (void *)0xf3); // 0
+ mtree_test_insert(mt, 8, (void *)0x11); // 0
+ mtree_test_insert(mt, 21, (void *)0x2b); // 0
+ mtree_test_insert(mt, 2, (void *)0x5); // 0
+ mtree_test_insert(mt, 18446744073709551605UL, (void *)0xffffffffffffffeb); // 0
+ mtree_test_erase(mt, 18446744073709551605UL); // 0x1
}
static DEFINE_MTREE(tree);