On 12/14/2012 07:43 PM, Sage Weil wrote: > We should drop this one, I think. See upstream commit > 4c199a93a2d36b277a9fd209a0f2793f8460a215. When we added the similar call > on teh request tree it caused some noise in linux-next and then got > removed. Well, we need to initialize it. In particular, there is a call to RB_EMPTY_NODE() in __unregister_request() which assumes that if a node is not in the tree, it has been initialized as it is in RB_CLEAR_NODE(). Even if that's not a normal path (and even if no current code path allows that condition), if we're using RB_EMPTY_NODE() we need to be sure any node we'll pass is properly set up or it's broken code. So it's fine with me if we use RB_CLEAR_NODE() instead. Or, we could stop using RB_EMPTY_NODE() (but that's more work to verify). The same goes for the event passed to __remove_event(), but that should be fixed in a separate patch. Please let me know what you think. -Alex > sage > > On Thu, 13 Dec 2012, Alex Elder wrote: > >> It turns out to be harmless but the red-black node o_node in the >> ceph osd structure is not initialized in create_osd(). Add a >> call to rb_init_node() initialize it. >> >> Signed-off-by: Alex Elder <elder@xxxxxxxxxxx> >> --- >> net/ceph/osd_client.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c >> index 60c74c1..470816c 100644 >> --- a/net/ceph/osd_client.c >> +++ b/net/ceph/osd_client.c >> @@ -642,6 +642,7 @@ static struct ceph_osd *create_osd(struct >> ceph_osd_client *osdc, int onum) >> atomic_set(&osd->o_ref, 1); >> osd->o_osdc = osdc; >> osd->o_osd = onum; >> + rb_init_node(&osd->o_node); >> INIT_LIST_HEAD(&osd->o_requests); >> INIT_LIST_HEAD(&osd->o_linger_requests); >> INIT_LIST_HEAD(&osd->o_osd_lru); >> -- >> 1.7.9.5 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html