diff options
Diffstat (limited to 'lib/test_maple_tree.c')
| -rw-r--r-- | lib/test_maple_tree.c | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/test_maple_tree.c b/lib/test_maple_tree.c index f425f169ef08..497fc93ccf9e 100644 --- a/lib/test_maple_tree.c +++ b/lib/test_maple_tree.c @@ -2498,6 +2498,25 @@ static noinline void check_dup(struct maple_tree *mt)  	}  } +static noinline void check_bnode_min_spanning(struct maple_tree *mt) +{ +	int i = 50; +	MA_STATE(mas, mt, 0, 0); + +	mt_set_non_kernel(9999); +	mas_lock(&mas); +	do { +		mas_set_range(&mas, i*10, i*10+9); +		mas_store(&mas, check_bnode_min_spanning); +	} while (i--); + +	mas_set_range(&mas, 240, 509); +	mas_store(&mas, NULL); +	mas_unlock(&mas); +	mas_destroy(&mas); +	mt_set_non_kernel(0); +} +  static DEFINE_MTREE(tree);  static int maple_tree_seed(void)  { @@ -2742,6 +2761,10 @@ static int maple_tree_seed(void)  	check_dup(&tree);  	mtree_destroy(&tree); +	mt_init_flags(&tree, MT_FLAGS_ALLOC_RANGE); +	check_bnode_min_spanning(&tree); +	mtree_destroy(&tree); +  #if defined(BENCH)  skip:  #endif  | 
