diff options
-rw-r--r-- | fs/proc/proc_sysctl.c | 4 | ||||
-rw-r--r-- | include/linux/rbtree.h | 15 | ||||
-rw-r--r-- | include/linux/timerqueue.h | 2 | ||||
-rw-r--r-- | lib/rbtree.c | 4 | ||||
-rw-r--r-- | net/ceph/osd_client.c | 1 |
5 files changed, 9 insertions, 17 deletions
diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c index dcd56f84db7e..fddc50729632 100644 --- a/fs/proc/proc_sysctl.c +++ b/fs/proc/proc_sysctl.c | |||
@@ -168,10 +168,8 @@ static void init_header(struct ctl_table_header *head, | |||
168 | head->node = node; | 168 | head->node = node; |
169 | if (node) { | 169 | if (node) { |
170 | struct ctl_table *entry; | 170 | struct ctl_table *entry; |
171 | for (entry = table; entry->procname; entry++, node++) { | 171 | for (entry = table; entry->procname; entry++, node++) |
172 | rb_init_node(&node->node); | ||
173 | node->header = head; | 172 | node->header = head; |
174 | } | ||
175 | } | 173 | } |
176 | } | 174 | } |
177 | 175 | ||
diff --git a/include/linux/rbtree.h b/include/linux/rbtree.h index e6a807720ded..2049087c43b7 100644 --- a/include/linux/rbtree.h +++ b/include/linux/rbtree.h | |||
@@ -67,17 +67,12 @@ static inline void rb_set_color(struct rb_node *rb, int color) | |||
67 | #define RB_ROOT (struct rb_root) { NULL, } | 67 | #define RB_ROOT (struct rb_root) { NULL, } |
68 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | 68 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) |
69 | 69 | ||
70 | #define RB_EMPTY_ROOT(root) ((root)->rb_node == NULL) | 70 | #define RB_EMPTY_ROOT(root) ((root)->rb_node == NULL) |
71 | #define RB_EMPTY_NODE(node) (rb_parent(node) == node) | 71 | |
72 | #define RB_CLEAR_NODE(node) (rb_set_parent(node, node)) | 72 | /* 'empty' nodes are nodes that are known not to be inserted in an rbree */ |
73 | #define RB_EMPTY_NODE(node) ((node)->rb_parent_color == (unsigned long)(node)) | ||
74 | #define RB_CLEAR_NODE(node) ((node)->rb_parent_color = (unsigned long)(node)) | ||
73 | 75 | ||
74 | static inline void rb_init_node(struct rb_node *rb) | ||
75 | { | ||
76 | rb->rb_parent_color = 0; | ||
77 | rb->rb_right = NULL; | ||
78 | rb->rb_left = NULL; | ||
79 | RB_CLEAR_NODE(rb); | ||
80 | } | ||
81 | 76 | ||
82 | extern void rb_insert_color(struct rb_node *, struct rb_root *); | 77 | extern void rb_insert_color(struct rb_node *, struct rb_root *); |
83 | extern void rb_erase(struct rb_node *, struct rb_root *); | 78 | extern void rb_erase(struct rb_node *, struct rb_root *); |
diff --git a/include/linux/timerqueue.h b/include/linux/timerqueue.h index 5088727478fd..a520fd70a59f 100644 --- a/include/linux/timerqueue.h +++ b/include/linux/timerqueue.h | |||
@@ -39,7 +39,7 @@ struct timerqueue_node *timerqueue_getnext(struct timerqueue_head *head) | |||
39 | 39 | ||
40 | static inline void timerqueue_init(struct timerqueue_node *node) | 40 | static inline void timerqueue_init(struct timerqueue_node *node) |
41 | { | 41 | { |
42 | rb_init_node(&node->node); | 42 | RB_CLEAR_NODE(&node->node); |
43 | } | 43 | } |
44 | 44 | ||
45 | static inline void timerqueue_init_head(struct timerqueue_head *head) | 45 | static inline void timerqueue_init_head(struct timerqueue_head *head) |
diff --git a/lib/rbtree.c b/lib/rbtree.c index d4175565dc2c..fe43c8c5f527 100644 --- a/lib/rbtree.c +++ b/lib/rbtree.c | |||
@@ -387,7 +387,7 @@ struct rb_node *rb_next(const struct rb_node *node) | |||
387 | { | 387 | { |
388 | struct rb_node *parent; | 388 | struct rb_node *parent; |
389 | 389 | ||
390 | if (rb_parent(node) == node) | 390 | if (RB_EMPTY_NODE(node)) |
391 | return NULL; | 391 | return NULL; |
392 | 392 | ||
393 | /* If we have a right-hand child, go down and then left as far | 393 | /* If we have a right-hand child, go down and then left as far |
@@ -416,7 +416,7 @@ struct rb_node *rb_prev(const struct rb_node *node) | |||
416 | { | 416 | { |
417 | struct rb_node *parent; | 417 | struct rb_node *parent; |
418 | 418 | ||
419 | if (rb_parent(node) == node) | 419 | if (RB_EMPTY_NODE(node)) |
420 | return NULL; | 420 | return NULL; |
421 | 421 | ||
422 | /* If we have a left-hand child, go down and then right as far | 422 | /* If we have a left-hand child, go down and then right as far |
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index ccbdfbba9e53..c1d756cc7448 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c | |||
@@ -221,7 +221,6 @@ struct ceph_osd_request *ceph_osdc_alloc_request(struct ceph_osd_client *osdc, | |||
221 | kref_init(&req->r_kref); | 221 | kref_init(&req->r_kref); |
222 | init_completion(&req->r_completion); | 222 | init_completion(&req->r_completion); |
223 | init_completion(&req->r_safe_completion); | 223 | init_completion(&req->r_safe_completion); |
224 | rb_init_node(&req->r_node); | ||
225 | INIT_LIST_HEAD(&req->r_unsafe_item); | 224 | INIT_LIST_HEAD(&req->r_unsafe_item); |
226 | INIT_LIST_HEAD(&req->r_linger_item); | 225 | INIT_LIST_HEAD(&req->r_linger_item); |
227 | INIT_LIST_HEAD(&req->r_linger_osd); | 226 | INIT_LIST_HEAD(&req->r_linger_osd); |