Loading include/linux/ceph/osd_client.h +2 −9 Original line number Diff line number Diff line Loading @@ -328,15 +328,8 @@ 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, Loading net/ceph/osd_client.c +22 −4 Original line number Diff line number Diff line Loading @@ -297,12 +297,15 @@ static void osd_req_op_data_release(struct ceph_osd_request *osd_req, /* * requests */ void ceph_osdc_release_request(struct kref *kref) static void ceph_osdc_release_request(struct kref *kref) { struct ceph_osd_request *req; struct ceph_osd_request *req = container_of(kref, struct ceph_osd_request, r_kref); unsigned int which; req = container_of(kref, struct ceph_osd_request, r_kref); dout("%s %p (r_request %p r_reply %p)\n", __func__, req, req->r_request, req->r_reply); if (req->r_request) ceph_msg_put(req->r_request); if (req->r_reply) { Loading @@ -320,7 +323,22 @@ void ceph_osdc_release_request(struct kref *kref) kmem_cache_free(ceph_osd_request_cache, req); } EXPORT_SYMBOL(ceph_osdc_release_request); void ceph_osdc_get_request(struct ceph_osd_request *req) { dout("%s %p (was %d)\n", __func__, req, atomic_read(&req->r_kref.refcount)); kref_get(&req->r_kref); } EXPORT_SYMBOL(ceph_osdc_get_request); void ceph_osdc_put_request(struct ceph_osd_request *req) { dout("%s %p (was %d)\n", __func__, req, atomic_read(&req->r_kref.refcount)); kref_put(&req->r_kref, ceph_osdc_release_request); } EXPORT_SYMBOL(ceph_osdc_put_request); struct ceph_osd_request *ceph_osdc_alloc_request(struct ceph_osd_client *osdc, struct ceph_snap_context *snapc, Loading Loading
include/linux/ceph/osd_client.h +2 −9 Original line number Diff line number Diff line Loading @@ -328,15 +328,8 @@ 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, Loading
net/ceph/osd_client.c +22 −4 Original line number Diff line number Diff line Loading @@ -297,12 +297,15 @@ static void osd_req_op_data_release(struct ceph_osd_request *osd_req, /* * requests */ void ceph_osdc_release_request(struct kref *kref) static void ceph_osdc_release_request(struct kref *kref) { struct ceph_osd_request *req; struct ceph_osd_request *req = container_of(kref, struct ceph_osd_request, r_kref); unsigned int which; req = container_of(kref, struct ceph_osd_request, r_kref); dout("%s %p (r_request %p r_reply %p)\n", __func__, req, req->r_request, req->r_reply); if (req->r_request) ceph_msg_put(req->r_request); if (req->r_reply) { Loading @@ -320,7 +323,22 @@ void ceph_osdc_release_request(struct kref *kref) kmem_cache_free(ceph_osd_request_cache, req); } EXPORT_SYMBOL(ceph_osdc_release_request); void ceph_osdc_get_request(struct ceph_osd_request *req) { dout("%s %p (was %d)\n", __func__, req, atomic_read(&req->r_kref.refcount)); kref_get(&req->r_kref); } EXPORT_SYMBOL(ceph_osdc_get_request); void ceph_osdc_put_request(struct ceph_osd_request *req) { dout("%s %p (was %d)\n", __func__, req, atomic_read(&req->r_kref.refcount)); kref_put(&req->r_kref, ceph_osdc_release_request); } EXPORT_SYMBOL(ceph_osdc_put_request); struct ceph_osd_request *ceph_osdc_alloc_request(struct ceph_osd_client *osdc, struct ceph_snap_context *snapc, Loading