libceph: init event->node in ceph_osdc_create_event()
authorAlex Elder <elder@inktank.com>
Mon, 17 Dec 2012 18:23:48 +0000 (12:23 -0600)
committerAlex Elder <elder@inktank.com>
Thu, 20 Dec 2012 16:56:28 +0000 (10:56 -0600)
The red-black node node in the ceph osd event structure is not
initialized in create_osdc_create_event().  Because this node can
be the subject of a RB_EMPTY_NODE() call later on, we should ensure
the node is initialized properly for that.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
net/ceph/osd_client.c

index a6dc6acd656637e8e1f2afa01b5f6408b31b0ec4..2bce3d4be1c6d6a9200d0a7ab510f73ec3f53a65 100644 (file)
@@ -1563,6 +1563,7 @@ int ceph_osdc_create_event(struct ceph_osd_client *osdc,
        event->data = data;
        event->osdc = osdc;
        INIT_LIST_HEAD(&event->osd_node);
+       RB_CLEAR_NODE(&event->node);
        kref_init(&event->kref);   /* one ref for us */
        kref_get(&event->kref);    /* one ref for the caller */
        init_completion(&event->completion);