Lines Matching refs:obj_request
287 struct rbd_obj_request *obj_request; /* obj req initiator */ member
1317 static void rbd_obj_request_put(struct rbd_obj_request *obj_request) in rbd_obj_request_put() argument
1319 rbd_assert(obj_request != NULL); in rbd_obj_request_put()
1320 dout("%s: obj %p (was %d)\n", __func__, obj_request, in rbd_obj_request_put()
1321 kref_read(&obj_request->kref)); in rbd_obj_request_put()
1322 kref_put(&obj_request->kref, rbd_obj_request_destroy); in rbd_obj_request_put()
1342 struct rbd_obj_request *obj_request) in rbd_img_obj_request_add() argument
1344 rbd_assert(obj_request->img_request == NULL); in rbd_img_obj_request_add()
1347 obj_request->img_request = img_request; in rbd_img_obj_request_add()
1350 dout("%s: img %p obj %p\n", __func__, img_request, obj_request); in rbd_img_obj_request_add()
1354 struct rbd_obj_request *obj_request) in rbd_img_obj_request_del() argument
1356 dout("%s: img %p obj %p\n", __func__, img_request, obj_request); in rbd_img_obj_request_del()
1357 list_del(&obj_request->ex.oe_item); in rbd_img_obj_request_del()
1360 rbd_assert(obj_request->img_request == img_request); in rbd_img_obj_request_del()
1361 rbd_obj_request_put(obj_request); in rbd_img_obj_request_del()
1364 static void rbd_obj_request_submit(struct rbd_obj_request *obj_request) in rbd_obj_request_submit() argument
1366 struct ceph_osd_request *osd_req = obj_request->osd_req; in rbd_obj_request_submit()
1369 obj_request, obj_request->ex.oe_objno, obj_request->ex.oe_off, in rbd_obj_request_submit()
1370 obj_request->ex.oe_len, osd_req); in rbd_obj_request_submit()
1456 static void rbd_osd_req_format_read(struct rbd_obj_request *obj_request) in rbd_osd_req_format_read() argument
1458 struct ceph_osd_request *osd_req = obj_request->osd_req; in rbd_osd_req_format_read()
1461 osd_req->r_snapid = obj_request->img_request->snap_id; in rbd_osd_req_format_read()
1464 static void rbd_osd_req_format_write(struct rbd_obj_request *obj_request) in rbd_osd_req_format_write() argument
1466 struct ceph_osd_request *osd_req = obj_request->osd_req; in rbd_osd_req_format_write()
1470 osd_req->r_data_offset = obj_request->ex.oe_off; in rbd_osd_req_format_write()
1520 struct rbd_obj_request *obj_request; in rbd_obj_request_create() local
1522 obj_request = kmem_cache_zalloc(rbd_obj_request_cache, GFP_NOIO); in rbd_obj_request_create()
1523 if (!obj_request) in rbd_obj_request_create()
1526 ceph_object_extent_init(&obj_request->ex); in rbd_obj_request_create()
1527 kref_init(&obj_request->kref); in rbd_obj_request_create()
1529 dout("%s %p\n", __func__, obj_request); in rbd_obj_request_create()
1530 return obj_request; in rbd_obj_request_create()
1535 struct rbd_obj_request *obj_request; in rbd_obj_request_destroy() local
1538 obj_request = container_of(kref, struct rbd_obj_request, kref); in rbd_obj_request_destroy()
1540 dout("%s: obj %p\n", __func__, obj_request); in rbd_obj_request_destroy()
1542 if (obj_request->osd_req) in rbd_obj_request_destroy()
1543 rbd_osd_req_destroy(obj_request->osd_req); in rbd_obj_request_destroy()
1545 switch (obj_request->img_request->data_type) { in rbd_obj_request_destroy()
1551 kfree(obj_request->bvec_pos.bvecs); in rbd_obj_request_destroy()
1557 kfree(obj_request->img_extents); in rbd_obj_request_destroy()
1558 if (obj_request->copyup_bvecs) { in rbd_obj_request_destroy()
1559 for (i = 0; i < obj_request->copyup_bvec_count; i++) { in rbd_obj_request_destroy()
1560 if (obj_request->copyup_bvecs[i].bv_page) in rbd_obj_request_destroy()
1561 __free_page(obj_request->copyup_bvecs[i].bv_page); in rbd_obj_request_destroy()
1563 kfree(obj_request->copyup_bvecs); in rbd_obj_request_destroy()
1566 kmem_cache_free(rbd_obj_request_cache, obj_request); in rbd_obj_request_destroy()
1669 struct rbd_obj_request *obj_request; in rbd_img_request_destroy() local
1676 for_each_obj_request_safe(img_request, obj_request, next_obj_request) in rbd_img_request_destroy()
1677 rbd_img_obj_request_del(img_request, obj_request); in rbd_img_request_destroy()
2240 struct rbd_obj_request *obj_request; in rbd_img_request_submit() local
2245 for_each_obj_request(img_request, obj_request) in rbd_img_request_submit()
2246 rbd_obj_request_submit(obj_request); in rbd_img_request_submit()
2263 child_img_req->obj_request = obj_req; in rbd_obj_read_from_parent()
2570 struct rbd_obj_request *obj_req = img_req->obj_request; in rbd_img_end_child_request()
2613 obj_req = img_req->obj_request; in rbd_obj_handle_request()