X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=rbtree.h;h=7563725e51a90e37cff54e81c546ed30b151b28f;hb=58a525d85eecbab1131d6d54e24b8b9c0dd906d6;hp=344bc3495ddbd12548c32ebaf57cd3c6ee7e8be9;hpb=44b5374f4d64a066643afbc91d7f3f03bb0b71f8;p=fio.git diff --git a/rbtree.h b/rbtree.h index 344bc349..7563725e 100644 --- a/rbtree.h +++ b/rbtree.h @@ -94,12 +94,12 @@ static inline struct page * rb_insert_page_cache(struct inode * inode, #ifndef _LINUX_RBTREE_H #define _LINUX_RBTREE_H -#include -#include +#include +#include struct rb_node { - unsigned long rb_parent_color; + intptr_t rb_parent_color; #define RB_RED 0 #define RB_BLACK 1 struct rb_node *rb_right; @@ -122,7 +122,7 @@ struct rb_root static inline void rb_set_parent(struct rb_node *rb, struct rb_node *p) { - rb->rb_parent_color = (rb->rb_parent_color & 3) | (unsigned long)p; + rb->rb_parent_color = (rb->rb_parent_color & 3) | (uintptr_t)p; } static inline void rb_set_color(struct rb_node *rb, int color) { @@ -140,19 +140,12 @@ extern void rb_insert_color(struct rb_node *, struct rb_root *); extern void rb_erase(struct rb_node *, struct rb_root *); /* Find logical next and previous nodes in a tree */ -extern struct rb_node *rb_next(struct rb_node *); -extern struct rb_node *rb_prev(struct rb_node *); extern struct rb_node *rb_first(struct rb_root *); -extern struct rb_node *rb_last(struct rb_root *); - -/* Fast replacement of a single node without remove/rebalance/add/rebalance */ -extern void rb_replace_node(struct rb_node *victim, struct rb_node *new, - struct rb_root *root); static inline void rb_link_node(struct rb_node * node, struct rb_node * parent, struct rb_node ** rb_link) { - node->rb_parent_color = (unsigned long )parent; + node->rb_parent_color = (uintptr_t)parent; node->rb_left = node->rb_right = NULL; *rb_link = node;