static noinline void check_nomem(struct maple_tree *mt)
{
-#if 0
MA_STATE(ms, mt, 1, 1);
MT_BUG_ON(mt, !mtree_empty(mt));
/* Storing something at 1 requires memory allocation */
- MT_BUG_ON(mt, mtree_insert_index(mt, 1, GFP_ATOMIC) != -ENOMEM);
+ MT_BUG_ON(mt, mtree_insert(mt, 1, &ms, GFP_ATOMIC) != -ENOMEM);
/* Storing something at 0 does not */
- MT_BUG_ON(mt, mtree_insert_index(mt, 0, GFP_ATOMIC) != 0);
+ MT_BUG_ON(mt, mtree_insert(mt, 0, &ms, GFP_ATOMIC) != 0);
/*
* Simulate two threads racing; the first one fails to allocate
* userspace test suite.
*/
mtree_lock(mt);
- _maple_setup_insert(&ms);
+ ma_insert(&ms, &ms); // insert 1 -> &ms, fails.
MT_BUG_ON(mt, ms.node != MA_ERROR(-ENOMEM));
- _maple_insert(&ms, xa_mk_value(1));
- mas_nomem(&ms, GFP_KERNEL);
+ mas_nomem(&ms, GFP_KERNEL); // Node allocated in here.
MT_BUG_ON(mt, ms.node != MAS_START);
mtree_unlock(mt);
- MT_BUG_ON(mt, mtree_insert_index(mt, 2, GFP_KERNEL) != 0);
+ MT_BUG_ON(mt, mtree_insert(mt, 2, mt, GFP_KERNEL) != 0);
mtree_lock(mt);
- _maple_setup_insert(&ms);
- _maple_insert(&ms, xa_mk_value(1));
- mas_nomem(&ms, GFP_KERNEL);
+ ma_insert(&ms, &ms); // insert 1 -> &ms
+ mas_nomem(&ms, GFP_KERNEL); // Node allocated in here.
mtree_unlock(mt);
-#endif
-
mtree_destroy(mt);
}