osd_req          1444 drivers/block/rbd.c static void rbd_osd_submit(struct ceph_osd_request *osd_req)
osd_req          1446 drivers/block/rbd.c 	struct rbd_obj_request *obj_req = osd_req->r_priv;
osd_req          1449 drivers/block/rbd.c 	     __func__, osd_req, obj_req, obj_req->ex.oe_objno,
osd_req          1451 drivers/block/rbd.c 	ceph_osdc_start_request(osd_req->r_osdc, osd_req, false);
osd_req          1526 drivers/block/rbd.c static void rbd_osd_req_callback(struct ceph_osd_request *osd_req)
osd_req          1528 drivers/block/rbd.c 	struct rbd_obj_request *obj_req = osd_req->r_priv;
osd_req          1531 drivers/block/rbd.c 	dout("%s osd_req %p result %d for obj_req %p\n", __func__, osd_req,
osd_req          1532 drivers/block/rbd.c 	     osd_req->r_result, obj_req);
osd_req          1539 drivers/block/rbd.c 	if (osd_req->r_result > 0 && rbd_img_is_write(obj_req->img_request))
osd_req          1542 drivers/block/rbd.c 		result = osd_req->r_result;
osd_req          1547 drivers/block/rbd.c static void rbd_osd_format_read(struct ceph_osd_request *osd_req)
osd_req          1549 drivers/block/rbd.c 	struct rbd_obj_request *obj_request = osd_req->r_priv;
osd_req          1551 drivers/block/rbd.c 	osd_req->r_flags = CEPH_OSD_FLAG_READ;
osd_req          1552 drivers/block/rbd.c 	osd_req->r_snapid = obj_request->img_request->snap_id;
osd_req          1555 drivers/block/rbd.c static void rbd_osd_format_write(struct ceph_osd_request *osd_req)
osd_req          1557 drivers/block/rbd.c 	struct rbd_obj_request *obj_request = osd_req->r_priv;
osd_req          1559 drivers/block/rbd.c 	osd_req->r_flags = CEPH_OSD_FLAG_WRITE;
osd_req          1560 drivers/block/rbd.c 	ktime_get_real_ts64(&osd_req->r_mtime);
osd_req          1561 drivers/block/rbd.c 	osd_req->r_data_offset = obj_request->ex.oe_off;
osd_req          1626 drivers/block/rbd.c 	struct ceph_osd_request *osd_req;
osd_req          1634 drivers/block/rbd.c 		osd_req = list_first_entry(&obj_request->osd_reqs,
osd_req          1636 drivers/block/rbd.c 		list_del_init(&osd_req->r_private_item);
osd_req          1637 drivers/block/rbd.c 		ceph_osdc_put_request(osd_req);
osd_req          2085 drivers/block/rbd.c 					struct ceph_osd_request *osd_req)
osd_req          2094 drivers/block/rbd.c 	if (osd_req->r_result)
osd_req          2095 drivers/block/rbd.c 		return osd_req->r_result;
osd_req          2100 drivers/block/rbd.c 	if (osd_req->r_num_ops == 1)
osd_req          2106 drivers/block/rbd.c 	rbd_assert(osd_req->r_num_ops == 2);
osd_req          2107 drivers/block/rbd.c 	osd_data = osd_req_op_data(osd_req, 1, cls, request_data);
osd_req          2129 drivers/block/rbd.c static void rbd_object_map_callback(struct ceph_osd_request *osd_req)
osd_req          2131 drivers/block/rbd.c 	struct rbd_obj_request *obj_req = osd_req->r_priv;
osd_req          2134 drivers/block/rbd.c 	dout("%s osd_req %p result %d for obj_req %p\n", __func__, osd_req,
osd_req          2135 drivers/block/rbd.c 	     osd_req->r_result, obj_req);
osd_req          2137 drivers/block/rbd.c 	result = rbd_object_map_update_finish(obj_req, osd_req);
osd_req          2292 drivers/block/rbd.c static void rbd_osd_setup_data(struct ceph_osd_request *osd_req, int which)
osd_req          2294 drivers/block/rbd.c 	struct rbd_obj_request *obj_req = osd_req->r_priv;
osd_req          2298 drivers/block/rbd.c 		osd_req_op_extent_osd_data_bio(osd_req, which,
osd_req          2307 drivers/block/rbd.c 		osd_req_op_extent_osd_data_bvec_pos(osd_req, which,
osd_req          2315 drivers/block/rbd.c static int rbd_osd_setup_stat(struct ceph_osd_request *osd_req, int which)
osd_req          2331 drivers/block/rbd.c 	osd_req_op_init(osd_req, which, CEPH_OSD_OP_STAT, 0);
osd_req          2332 drivers/block/rbd.c 	osd_req_op_raw_data_in_pages(osd_req, which, pages,
osd_req          2338 drivers/block/rbd.c static int rbd_osd_setup_copyup(struct ceph_osd_request *osd_req, int which,
osd_req          2341 drivers/block/rbd.c 	struct rbd_obj_request *obj_req = osd_req->r_priv;
osd_req          2344 drivers/block/rbd.c 	ret = osd_req_op_cls_init(osd_req, which, "rbd", "copyup");
osd_req          2348 drivers/block/rbd.c 	osd_req_op_cls_request_data_bvecs(osd_req, which, obj_req->copyup_bvecs,
osd_req          2359 drivers/block/rbd.c static void __rbd_osd_setup_write_ops(struct ceph_osd_request *osd_req,
osd_req          2362 drivers/block/rbd.c 	struct rbd_obj_request *obj_req = osd_req->r_priv;
osd_req          2368 drivers/block/rbd.c 		osd_req_op_alloc_hint_init(osd_req, which++,
osd_req          2378 drivers/block/rbd.c 	osd_req_op_extent_init(osd_req, which, opcode,
osd_req          2380 drivers/block/rbd.c 	rbd_osd_setup_data(osd_req, which);
osd_req          2405 drivers/block/rbd.c static void __rbd_osd_setup_discard_ops(struct ceph_osd_request *osd_req,
osd_req          2408 drivers/block/rbd.c 	struct rbd_obj_request *obj_req = osd_req->r_priv;
osd_req          2412 drivers/block/rbd.c 		osd_req_op_init(osd_req, which, CEPH_OSD_OP_DELETE, 0);
osd_req          2414 drivers/block/rbd.c 		osd_req_op_extent_init(osd_req, which,
osd_req          2463 drivers/block/rbd.c static void __rbd_osd_setup_zeroout_ops(struct ceph_osd_request *osd_req,
osd_req          2466 drivers/block/rbd.c 	struct rbd_obj_request *obj_req = osd_req->r_priv;
osd_req          2472 drivers/block/rbd.c 				osd_req_op_init(osd_req, which++,
osd_req          2477 drivers/block/rbd.c 			osd_req_op_init(osd_req, which++,
osd_req          2486 drivers/block/rbd.c 		osd_req_op_extent_init(osd_req, which, opcode,
osd_req          2536 drivers/block/rbd.c static void rbd_osd_setup_write_ops(struct ceph_osd_request *osd_req,
osd_req          2539 drivers/block/rbd.c 	struct rbd_obj_request *obj_req = osd_req->r_priv;
osd_req          2543 drivers/block/rbd.c 		__rbd_osd_setup_write_ops(osd_req, which);
osd_req          2546 drivers/block/rbd.c 		__rbd_osd_setup_discard_ops(osd_req, which);
osd_req          2549 drivers/block/rbd.c 		__rbd_osd_setup_zeroout_ops(osd_req, which);
osd_req          2911 drivers/block/rbd.c 	struct ceph_osd_request *osd_req;
osd_req          2914 drivers/block/rbd.c 	osd_req = __rbd_obj_add_osd_request(obj_req, NULL, 1);
osd_req          2915 drivers/block/rbd.c 	if (IS_ERR(osd_req))
osd_req          2916 drivers/block/rbd.c 		return PTR_ERR(osd_req);
osd_req          2918 drivers/block/rbd.c 	osd_req_op_extent_init(osd_req, 0, CEPH_OSD_OP_READ,
osd_req          2920 drivers/block/rbd.c 	rbd_osd_setup_data(osd_req, 0);
osd_req          2921 drivers/block/rbd.c 	rbd_osd_format_read(osd_req);
osd_req          2923 drivers/block/rbd.c 	ret = ceph_osdc_alloc_messages(osd_req, GFP_NOIO);
osd_req          2927 drivers/block/rbd.c 	rbd_osd_submit(osd_req);
osd_req          3099 drivers/block/rbd.c 	struct ceph_osd_request *osd_req;
osd_req          3107 drivers/block/rbd.c 	osd_req = rbd_obj_add_osd_request(obj_req, num_ops);
osd_req          3108 drivers/block/rbd.c 	if (IS_ERR(osd_req))
osd_req          3109 drivers/block/rbd.c 		return PTR_ERR(osd_req);
osd_req          3112 drivers/block/rbd.c 		ret = rbd_osd_setup_stat(osd_req, which++);
osd_req          3117 drivers/block/rbd.c 	rbd_osd_setup_write_ops(osd_req, which);
osd_req          3118 drivers/block/rbd.c 	rbd_osd_format_write(osd_req);
osd_req          3120 drivers/block/rbd.c 	ret = ceph_osdc_alloc_messages(osd_req, GFP_NOIO);
osd_req          3124 drivers/block/rbd.c 	rbd_osd_submit(osd_req);
osd_req          3151 drivers/block/rbd.c 	struct ceph_osd_request *osd_req;
osd_req          3157 drivers/block/rbd.c 	osd_req = __rbd_obj_add_osd_request(obj_req, &rbd_empty_snapc, 1);
osd_req          3158 drivers/block/rbd.c 	if (IS_ERR(osd_req))
osd_req          3159 drivers/block/rbd.c 		return PTR_ERR(osd_req);
osd_req          3161 drivers/block/rbd.c 	ret = rbd_osd_setup_copyup(osd_req, 0, bytes);
osd_req          3165 drivers/block/rbd.c 	rbd_osd_format_write(osd_req);
osd_req          3167 drivers/block/rbd.c 	ret = ceph_osdc_alloc_messages(osd_req, GFP_NOIO);
osd_req          3171 drivers/block/rbd.c 	rbd_osd_submit(osd_req);
osd_req          3178 drivers/block/rbd.c 	struct ceph_osd_request *osd_req;
osd_req          3188 drivers/block/rbd.c 	osd_req = rbd_obj_add_osd_request(obj_req, num_ops);
osd_req          3189 drivers/block/rbd.c 	if (IS_ERR(osd_req))
osd_req          3190 drivers/block/rbd.c 		return PTR_ERR(osd_req);
osd_req          3193 drivers/block/rbd.c 		ret = rbd_osd_setup_copyup(osd_req, which++, bytes);
osd_req          3198 drivers/block/rbd.c 	rbd_osd_setup_write_ops(osd_req, which);
osd_req          3199 drivers/block/rbd.c 	rbd_osd_format_write(osd_req);
osd_req          3201 drivers/block/rbd.c 	ret = ceph_osdc_alloc_messages(osd_req, GFP_NOIO);
osd_req          3205 drivers/block/rbd.c 	rbd_osd_submit(osd_req);
osd_req           402 include/linux/ceph/osd_client.h extern void osd_req_op_init(struct ceph_osd_request *osd_req,
osd_req           411 include/linux/ceph/osd_client.h extern void osd_req_op_extent_init(struct ceph_osd_request *osd_req,
osd_req           415 include/linux/ceph/osd_client.h extern void osd_req_op_extent_update(struct ceph_osd_request *osd_req,
osd_req           417 include/linux/ceph/osd_client.h extern void osd_req_op_extent_dup_last(struct ceph_osd_request *osd_req,
osd_req           421 include/linux/ceph/osd_client.h 					struct ceph_osd_request *osd_req,
osd_req           433 include/linux/ceph/osd_client.h void osd_req_op_extent_osd_data_bio(struct ceph_osd_request *osd_req,
osd_req           438 include/linux/ceph/osd_client.h void osd_req_op_extent_osd_data_bvecs(struct ceph_osd_request *osd_req,
osd_req           442 include/linux/ceph/osd_client.h void osd_req_op_extent_osd_data_bvec_pos(struct ceph_osd_request *osd_req,
osd_req           454 include/linux/ceph/osd_client.h void osd_req_op_cls_request_data_bvecs(struct ceph_osd_request *osd_req,
osd_req           463 include/linux/ceph/osd_client.h int osd_req_op_cls_init(struct ceph_osd_request *osd_req, unsigned int which,
osd_req           465 include/linux/ceph/osd_client.h extern int osd_req_op_xattr_init(struct ceph_osd_request *osd_req, unsigned int which,
osd_req           468 include/linux/ceph/osd_client.h extern void osd_req_op_alloc_hint_init(struct ceph_osd_request *osd_req,
osd_req           175 net/ceph/osd_client.c osd_req_op_raw_data_in(struct ceph_osd_request *osd_req, unsigned int which)
osd_req           177 net/ceph/osd_client.c 	BUG_ON(which >= osd_req->r_num_ops);
osd_req           179 net/ceph/osd_client.c 	return &osd_req->r_ops[which].raw_data_in;
osd_req           183 net/ceph/osd_client.c osd_req_op_extent_osd_data(struct ceph_osd_request *osd_req,
osd_req           186 net/ceph/osd_client.c 	return osd_req_op_data(osd_req, which, extent, osd_data);
osd_req           190 net/ceph/osd_client.c void osd_req_op_raw_data_in_pages(struct ceph_osd_request *osd_req,
osd_req           197 net/ceph/osd_client.c 	osd_data = osd_req_op_raw_data_in(osd_req, which);
osd_req           203 net/ceph/osd_client.c void osd_req_op_extent_osd_data_pages(struct ceph_osd_request *osd_req,
osd_req           210 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, extent, osd_data);
osd_req           216 net/ceph/osd_client.c void osd_req_op_extent_osd_data_pagelist(struct ceph_osd_request *osd_req,
osd_req           221 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, extent, osd_data);
osd_req           227 net/ceph/osd_client.c void osd_req_op_extent_osd_data_bio(struct ceph_osd_request *osd_req,
osd_req           234 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, extent, osd_data);
osd_req           240 net/ceph/osd_client.c void osd_req_op_extent_osd_data_bvecs(struct ceph_osd_request *osd_req,
osd_req           251 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, extent, osd_data);
osd_req           256 net/ceph/osd_client.c void osd_req_op_extent_osd_data_bvec_pos(struct ceph_osd_request *osd_req,
osd_req           262 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, extent, osd_data);
osd_req           268 net/ceph/osd_client.c 			struct ceph_osd_request *osd_req,
osd_req           273 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, cls, request_info);
osd_req           278 net/ceph/osd_client.c 			struct ceph_osd_request *osd_req,
osd_req           283 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, cls, request_data);
osd_req           285 net/ceph/osd_client.c 	osd_req->r_ops[which].cls.indata_len += pagelist->length;
osd_req           286 net/ceph/osd_client.c 	osd_req->r_ops[which].indata_len += pagelist->length;
osd_req           290 net/ceph/osd_client.c void osd_req_op_cls_request_data_pages(struct ceph_osd_request *osd_req,
osd_req           296 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, cls, request_data);
osd_req           299 net/ceph/osd_client.c 	osd_req->r_ops[which].cls.indata_len += length;
osd_req           300 net/ceph/osd_client.c 	osd_req->r_ops[which].indata_len += length;
osd_req           304 net/ceph/osd_client.c void osd_req_op_cls_request_data_bvecs(struct ceph_osd_request *osd_req,
osd_req           315 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, cls, request_data);
osd_req           317 net/ceph/osd_client.c 	osd_req->r_ops[which].cls.indata_len += bytes;
osd_req           318 net/ceph/osd_client.c 	osd_req->r_ops[which].indata_len += bytes;
osd_req           322 net/ceph/osd_client.c void osd_req_op_cls_response_data_pages(struct ceph_osd_request *osd_req,
osd_req           328 net/ceph/osd_client.c 	osd_data = osd_req_op_data(osd_req, which, cls, response_data);
osd_req           369 net/ceph/osd_client.c static void osd_req_op_data_release(struct ceph_osd_request *osd_req,
osd_req           374 net/ceph/osd_client.c 	BUG_ON(which >= osd_req->r_num_ops);
osd_req           375 net/ceph/osd_client.c 	op = &osd_req->r_ops[which];
osd_req           748 net/ceph/osd_client.c _osd_req_op_init(struct ceph_osd_request *osd_req, unsigned int which,
osd_req           753 net/ceph/osd_client.c 	BUG_ON(which >= osd_req->r_num_ops);
osd_req           756 net/ceph/osd_client.c 	op = &osd_req->r_ops[which];
osd_req           764 net/ceph/osd_client.c void osd_req_op_init(struct ceph_osd_request *osd_req,
osd_req           767 net/ceph/osd_client.c 	(void)_osd_req_op_init(osd_req, which, opcode, flags);
osd_req           771 net/ceph/osd_client.c void osd_req_op_extent_init(struct ceph_osd_request *osd_req,
osd_req           776 net/ceph/osd_client.c 	struct ceph_osd_req_op *op = _osd_req_op_init(osd_req, which,
osd_req           795 net/ceph/osd_client.c void osd_req_op_extent_update(struct ceph_osd_request *osd_req,
osd_req           801 net/ceph/osd_client.c 	BUG_ON(which >= osd_req->r_num_ops);
osd_req           802 net/ceph/osd_client.c 	op = &osd_req->r_ops[which];
osd_req           815 net/ceph/osd_client.c void osd_req_op_extent_dup_last(struct ceph_osd_request *osd_req,
osd_req           820 net/ceph/osd_client.c 	BUG_ON(which + 1 >= osd_req->r_num_ops);
osd_req           822 net/ceph/osd_client.c 	prev_op = &osd_req->r_ops[which];
osd_req           823 net/ceph/osd_client.c 	op = _osd_req_op_init(osd_req, which + 1, prev_op->op, prev_op->flags);
osd_req           837 net/ceph/osd_client.c int osd_req_op_cls_init(struct ceph_osd_request *osd_req, unsigned int which,
osd_req           846 net/ceph/osd_client.c 	op = _osd_req_op_init(osd_req, which, CEPH_OSD_OP_CALL, 0);
osd_req           870 net/ceph/osd_client.c 	osd_req_op_cls_request_info_pagelist(osd_req, which, pagelist);
osd_req           880 net/ceph/osd_client.c int osd_req_op_xattr_init(struct ceph_osd_request *osd_req, unsigned int which,
osd_req           884 net/ceph/osd_client.c 	struct ceph_osd_req_op *op = _osd_req_op_init(osd_req, which,
osd_req           935 net/ceph/osd_client.c void osd_req_op_alloc_hint_init(struct ceph_osd_request *osd_req,
osd_req           940 net/ceph/osd_client.c 	struct ceph_osd_req_op *op = _osd_req_op_init(osd_req, which,