libceph: introduce ceph_osdc_cancel_request()
[linux-2.6-block.git] / include / linux / ceph / osd_client.h
index 94ec69672164c9dd84b41c1ab3a7c995a761c1fc..de09cad7b7c7152f658e40f33fed30d713de0c4d 100644 (file)
@@ -117,7 +117,7 @@ struct ceph_osd_request {
        struct list_head r_req_lru_item;
        struct list_head r_osd_item;
        struct list_head r_linger_item;
-       struct list_head r_linger_osd;
+       struct list_head r_linger_osd_item;
        struct ceph_osd *r_osd;
        struct ceph_pg   r_pgid;
        int              r_pg_osds[CEPH_PG_MAX_SIZE];
@@ -328,19 +328,13 @@ extern void ceph_osdc_set_request_linger(struct ceph_osd_client *osdc,
 extern void ceph_osdc_unregister_linger_request(struct ceph_osd_client *osdc,
                                                struct ceph_osd_request *req);
 
-static inline void ceph_osdc_get_request(struct ceph_osd_request *req)
-{
-       kref_get(&req->r_kref);
-}
-extern void ceph_osdc_release_request(struct kref *kref);
-static inline void ceph_osdc_put_request(struct ceph_osd_request *req)
-{
-       kref_put(&req->r_kref, ceph_osdc_release_request);
-}
+extern void ceph_osdc_get_request(struct ceph_osd_request *req);
+extern void ceph_osdc_put_request(struct ceph_osd_request *req);
 
 extern int ceph_osdc_start_request(struct ceph_osd_client *osdc,
                                   struct ceph_osd_request *req,
                                   bool nofail);
+extern void ceph_osdc_cancel_request(struct ceph_osd_request *req);
 extern int ceph_osdc_wait_request(struct ceph_osd_client *osdc,
                                  struct ceph_osd_request *req);
 extern void ceph_osdc_sync(struct ceph_osd_client *osdc);