Lines Matching refs:obj_request
340 struct rbd_obj_request *obj_request; /* obj req initiator */ member
1329 static void rbd_obj_request_put(struct rbd_obj_request *obj_request) in rbd_obj_request_put() argument
1331 rbd_assert(obj_request != NULL); in rbd_obj_request_put()
1332 dout("%s: obj %p (was %d)\n", __func__, obj_request, in rbd_obj_request_put()
1333 kref_read(&obj_request->kref)); in rbd_obj_request_put()
1334 kref_put(&obj_request->kref, rbd_obj_request_destroy); in rbd_obj_request_put()
1338 struct rbd_obj_request *obj_request) in rbd_img_obj_request_add() argument
1340 rbd_assert(obj_request->img_request == NULL); in rbd_img_obj_request_add()
1343 obj_request->img_request = img_request; in rbd_img_obj_request_add()
1344 dout("%s: img %p obj %p\n", __func__, img_request, obj_request); in rbd_img_obj_request_add()
1348 struct rbd_obj_request *obj_request) in rbd_img_obj_request_del() argument
1350 dout("%s: img %p obj %p\n", __func__, img_request, obj_request); in rbd_img_obj_request_del()
1351 list_del(&obj_request->ex.oe_item); in rbd_img_obj_request_del()
1352 rbd_assert(obj_request->img_request == img_request); in rbd_img_obj_request_del()
1353 rbd_obj_request_put(obj_request); in rbd_img_obj_request_del()
1453 struct rbd_obj_request *obj_request = osd_req->r_priv; in rbd_osd_format_read() local
1454 struct rbd_device *rbd_dev = obj_request->img_request->rbd_dev; in rbd_osd_format_read()
1458 osd_req->r_snapid = obj_request->img_request->snap_id; in rbd_osd_format_read()
1463 struct rbd_obj_request *obj_request = osd_req->r_priv; in rbd_osd_format_write() local
1467 osd_req->r_data_offset = obj_request->ex.oe_off; in rbd_osd_format_write()
1514 struct rbd_obj_request *obj_request; in rbd_obj_request_create() local
1516 obj_request = kmem_cache_zalloc(rbd_obj_request_cache, GFP_NOIO); in rbd_obj_request_create()
1517 if (!obj_request) in rbd_obj_request_create()
1520 ceph_object_extent_init(&obj_request->ex); in rbd_obj_request_create()
1521 INIT_LIST_HEAD(&obj_request->osd_reqs); in rbd_obj_request_create()
1522 mutex_init(&obj_request->state_mutex); in rbd_obj_request_create()
1523 kref_init(&obj_request->kref); in rbd_obj_request_create()
1525 dout("%s %p\n", __func__, obj_request); in rbd_obj_request_create()
1526 return obj_request; in rbd_obj_request_create()
1531 struct rbd_obj_request *obj_request; in rbd_obj_request_destroy() local
1535 obj_request = container_of(kref, struct rbd_obj_request, kref); in rbd_obj_request_destroy()
1537 dout("%s: obj %p\n", __func__, obj_request); in rbd_obj_request_destroy()
1539 while (!list_empty(&obj_request->osd_reqs)) { in rbd_obj_request_destroy()
1540 osd_req = list_first_entry(&obj_request->osd_reqs, in rbd_obj_request_destroy()
1546 switch (obj_request->img_request->data_type) { in rbd_obj_request_destroy()
1552 kfree(obj_request->bvec_pos.bvecs); in rbd_obj_request_destroy()
1558 kfree(obj_request->img_extents); in rbd_obj_request_destroy()
1559 if (obj_request->copyup_bvecs) { in rbd_obj_request_destroy()
1560 for (i = 0; i < obj_request->copyup_bvec_count; i++) { in rbd_obj_request_destroy()
1561 if (obj_request->copyup_bvecs[i].bv_page) in rbd_obj_request_destroy()
1562 __free_page(obj_request->copyup_bvecs[i].bv_page); in rbd_obj_request_destroy()
1564 kfree(obj_request->copyup_bvecs); in rbd_obj_request_destroy()
1567 kmem_cache_free(rbd_obj_request_cache, obj_request); in rbd_obj_request_destroy()
1661 struct rbd_obj_request *obj_request; in rbd_img_request_destroy() local
1667 for_each_obj_request_safe(img_request, obj_request, next_obj_request) in rbd_img_request_destroy()
1668 rbd_img_obj_request_del(img_request, obj_request); in rbd_img_request_destroy()
2851 child_img_req->obj_request = obj_req; in rbd_obj_read_from_parent()
3642 struct rbd_obj_request *obj_req = img_req->obj_request; in rbd_img_handle_request()