- return xc;
-}
-
-#if 0 //orig
-static void right_rotate(struct rcu_rbtree_node **root,
- struct rcu_rbtree_node *x,
- rcu_rbtree_alloc rballoc)
-{
- struct rcu_rbtree_node *y;
-
- y = x->left;
- x->left = y->right;
- if (y->right != &rcu_rbtree_nil)
- y->right->p = x;
- y->p = x->p;
- if (x->p == &rcu_rbtree_nil)
- *root = y;
- else if (x == x->p->right)
- x->p->right = y;
- else
- x->p->left = y;
- y->right = x;
- x->p = y;
+ if (b != &rcu_rbtree_nil) {
+ _STORE_SHARED(bc->right->p, bc);
+ _STORE_SHARED(bc->left->p, bc);
+ defer_rcu(rbfree, b);
+ }
+ return yc;