Lines Matching refs:img_request
294 struct rbd_img_request *img_request; member
1253 switch (obj_req->img_request->data_type) { in rbd_obj_zero_range()
1275 static inline void rbd_img_obj_request_add(struct rbd_img_request *img_request, in rbd_img_obj_request_add() argument
1278 rbd_assert(obj_request->img_request == NULL); in rbd_img_obj_request_add()
1281 obj_request->img_request = img_request; in rbd_img_obj_request_add()
1282 dout("%s: img %p obj %p\n", __func__, img_request, obj_request); in rbd_img_obj_request_add()
1285 static inline void rbd_img_obj_request_del(struct rbd_img_request *img_request, in rbd_img_obj_request_del() argument
1288 dout("%s: img %p obj %p\n", __func__, img_request, obj_request); in rbd_img_obj_request_del()
1290 rbd_assert(obj_request->img_request == img_request); in rbd_img_obj_request_del()
1309 static void img_request_layered_set(struct rbd_img_request *img_request) in img_request_layered_set() argument
1311 set_bit(IMG_REQ_LAYERED, &img_request->flags); in img_request_layered_set()
1314 static bool img_request_layered_test(struct rbd_img_request *img_request) in img_request_layered_test() argument
1316 return test_bit(IMG_REQ_LAYERED, &img_request->flags) != 0; in img_request_layered_test()
1321 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_is_entire()
1329 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_is_tail()
1342 !obj_req->img_request->snapc->num_snaps)) in rbd_obj_copyup_enabled()
1381 if (osd_req->r_result > 0 && rbd_img_is_write(obj_req->img_request)) in rbd_osd_req_callback()
1392 struct rbd_device *rbd_dev = obj_request->img_request->rbd_dev; in rbd_osd_format_read()
1396 osd_req->r_snapid = obj_request->img_request->snap_id; in rbd_osd_format_read()
1412 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in __rbd_obj_add_osd_request()
1446 return __rbd_obj_add_osd_request(obj_req, obj_req->img_request->snapc, in rbd_obj_add_osd_request()
1484 switch (obj_request->img_request->data_type) { in rbd_obj_request_destroy()
1568 static void rbd_img_request_init(struct rbd_img_request *img_request, in rbd_img_request_init() argument
1572 memset(img_request, 0, sizeof(*img_request)); in rbd_img_request_init()
1574 img_request->rbd_dev = rbd_dev; in rbd_img_request_init()
1575 img_request->op_type = op_type; in rbd_img_request_init()
1577 INIT_LIST_HEAD(&img_request->lock_item); in rbd_img_request_init()
1578 INIT_LIST_HEAD(&img_request->object_extents); in rbd_img_request_init()
1579 mutex_init(&img_request->state_mutex); in rbd_img_request_init()
1597 static void rbd_img_request_destroy(struct rbd_img_request *img_request) in rbd_img_request_destroy() argument
1602 dout("%s: img %p\n", __func__, img_request); in rbd_img_request_destroy()
1604 WARN_ON(!list_empty(&img_request->lock_item)); in rbd_img_request_destroy()
1605 for_each_obj_request_safe(img_request, obj_request, next_obj_request) in rbd_img_request_destroy()
1606 rbd_img_obj_request_del(img_request, obj_request); in rbd_img_request_destroy()
1608 if (img_request_layered_test(img_request)) in rbd_img_request_destroy()
1609 rbd_dev_parent_put(img_request->rbd_dev); in rbd_img_request_destroy()
1611 if (rbd_img_is_write(img_request)) in rbd_img_request_destroy()
1612 ceph_put_snap_context(img_request->snapc); in rbd_img_request_destroy()
1614 if (test_bit(IMG_REQ_CHILD, &img_request->flags)) in rbd_img_request_destroy()
1615 kmem_cache_free(rbd_img_request_cache, img_request); in rbd_img_request_destroy()
1931 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_object_map_update_finish()
2038 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_object_map_update()
2116 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_calc_img_extents()
2140 switch (obj_req->img_request->data_type) { in rbd_osd_setup_data()
2207 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in __rbd_osd_setup_write_ops()
2268 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_init_discard()
2359 struct rbd_img_request *img_req = obj_req->img_request; in count_write_ops()
2386 switch (obj_req->img_request->op_type) { in rbd_osd_setup_write_ops()
2742 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_may_exist()
2778 struct rbd_img_request *img_req = obj_req->img_request; in rbd_obj_read_from_parent()
2834 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_advance_read()
2911 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_write_is_noop()
2933 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_write_pre_object_map()
3093 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_copyup_read_parent()
3118 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_copyup_object_maps()
3119 struct ceph_snap_context *snapc = obj_req->img_request->snapc; in rbd_obj_copyup_object_maps()
3166 if (obj_req->img_request->snapc->num_snaps && bytes > 0) { in rbd_obj_copyup_write_object()
3194 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_advance_copyup()
3268 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_write_post_object_map()
3283 struct rbd_device *rbd_dev = obj_req->img_request->rbd_dev; in rbd_obj_advance_write()
3370 struct rbd_img_request *img_req = obj_req->img_request; in __rbd_obj_handle_request()
3397 rbd_img_handle_request(obj_req->img_request, result); in rbd_obj_handle_request()
3583 img_req = obj_req->img_request; in rbd_img_handle_request()
4637 struct rbd_img_request *img_request = in rbd_queue_workfn() local
4639 struct rbd_device *rbd_dev = img_request->rbd_dev; in rbd_queue_workfn()
4640 enum obj_operation_type op_type = img_request->op_type; in rbd_queue_workfn()
4641 struct request *rq = blk_mq_rq_from_pdu(img_request); in rbd_queue_workfn()
4658 rbd_img_capture_header(img_request); in rbd_queue_workfn()
4669 img_request, obj_op_name(op_type), offset, length); in rbd_queue_workfn()
4672 result = rbd_img_fill_nodata(img_request, offset, length); in rbd_queue_workfn()
4674 result = rbd_img_fill_from_bio(img_request, offset, length, in rbd_queue_workfn()
4679 rbd_img_handle_request(img_request, 0); in rbd_queue_workfn()
4683 rbd_img_request_destroy(img_request); in rbd_queue_workfn()