summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2012-07-09 14:31:41 -0700
committerSage Weil <sage@inktank.com>2012-07-30 09:29:51 -0700
commitcd43045c2de60f40a0aea49bfb252a2eafe58f8c (patch)
tree7324cec5953ff47fdf3dc63d1ed5518d86412594
parentd50b409fb8698571d8209e5adfe122e287e31290 (diff)
downloadlinux-cd43045c2de60f40a0aea49bfb252a2eafe58f8c.tar.gz
linux-cd43045c2de60f40a0aea49bfb252a2eafe58f8c.tar.bz2
linux-cd43045c2de60f40a0aea49bfb252a2eafe58f8c.zip
libceph: initialize rb, list nodes in ceph_osd_request
These don't strictly need to be initialized based on how they are used, but it is good practice to do so. Reported-by: Alex Elder <elder@inktank.com> Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--net/ceph/osd_client.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index 4475d17863ee..07920cac31a6 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -213,10 +213,13 @@ struct ceph_osd_request *ceph_osdc_alloc_request(struct ceph_osd_client *osdc,
kref_init(&req->r_kref);
init_completion(&req->r_completion);
init_completion(&req->r_safe_completion);
+ rb_init_node(&req->r_node);
INIT_LIST_HEAD(&req->r_unsafe_item);
INIT_LIST_HEAD(&req->r_linger_item);
INIT_LIST_HEAD(&req->r_linger_osd);
INIT_LIST_HEAD(&req->r_req_lru_item);
+ INIT_LIST_HEAD(&req->r_osd_item);
+
req->r_flags = flags;
WARN_ON((flags & (CEPH_OSD_FLAG_READ|CEPH_OSD_FLAG_WRITE)) == 0);