summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2012-12-17 19:23:48 +0100
committerAlex Elder <elder@inktank.com>2012-12-20 17:56:28 +0100
commit3ee5234df68d253c415ba4f2db72ad250d9c21a9 (patch)
tree1b1fa581b6527d98f03450375c3e555f314344ca
parentlibceph: init osd->o_node in create_osd() (diff)
downloadlinux-3ee5234df68d253c415ba4f2db72ad250d9c21a9.tar.xz
linux-3ee5234df68d253c415ba4f2db72ad250d9c21a9.zip
libceph: init event->node in ceph_osdc_create_event()
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>
-rw-r--r--net/ceph/osd_client.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index a6dc6acd6566..2bce3d4be1c6 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -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);