X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;ds=sidebyside;f=rbtree.h;h=c6cfe4a9384d8041c978d7cef4b31cc587125e65;hb=d7abad3d0a2aab71707264ae088ecc19c88585dc;hp=20306ff1929060d726ce5f76dce9eba51f7e6b54;hpb=88c46b66d60db5a498487e22b32124cb6bf8576a;p=fio.git diff --git a/rbtree.h b/rbtree.h index 20306ff1..c6cfe4a9 100644 --- a/rbtree.h +++ b/rbtree.h @@ -95,10 +95,11 @@ static inline struct page * rb_insert_page_cache(struct inode * inode, #define _LINUX_RBTREE_H #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; @@ -121,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,11 +141,12 @@ extern void rb_erase(struct rb_node *, struct rb_root *); /* Find logical next and previous nodes in a tree */ extern struct rb_node *rb_first(struct rb_root *); +extern struct rb_node *rb_next(const struct rb_node *); 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;