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 <[email protected]>
>> ---
>> 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 [email protected]
>> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html