diff options
Diffstat (limited to 'lib/rbtree.c')
| -rw-r--r-- | lib/rbtree.c | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/rbtree.c b/lib/rbtree.c index ba4a9d165f1b..d3ff682fd4b8 100644 --- a/lib/rbtree.c +++ b/lib/rbtree.c @@ -603,6 +603,16 @@ void rb_replace_node(struct rb_node *victim, struct rb_node *new,  }  EXPORT_SYMBOL(rb_replace_node); +void rb_replace_node_cached(struct rb_node *victim, struct rb_node *new, +			    struct rb_root_cached *root) +{ +	rb_replace_node(victim, new, &root->rb_root); + +	if (root->rb_leftmost == victim) +		root->rb_leftmost = new; +} +EXPORT_SYMBOL(rb_replace_node_cached); +  void rb_replace_node_rcu(struct rb_node *victim, struct rb_node *new,  			 struct rb_root *root)  {  | 
