libceph: initialize rb, list nodes in ceph_osd_request
authorSage Weil <sage@inktank.com>
Mon, 9 Jul 2012 21:31:41 +0000 (14:31 -0700)
committerSage Weil <sage@inktank.com>
Mon, 30 Jul 2012 16:29:51 +0000 (09:29 -0700)
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>
net/ceph/osd_client.c

index 4475d17863ee41af4a592882eef9fae2000626df..07920cac31a6b18545a057ccb667ad318d6bdb57 100644 (file)
@@ -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);