Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 980917fc authored by Ilya Dryomov's avatar Ilya Dryomov
Browse files

rbd: change rbd_obj_request_submit() signature



- osdc parameter is useless
- starting with commit 5aea3dcd ("libceph: a major OSD client
  update"), ceph_osdc_start_request() always returns success

Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
Reviewed-by: default avatarAlex Elder <elder@linaro.org>
Reviewed-by: default avatarDavid Disseldorp <ddiss@suse.de>
parent 80de1912
Loading
Loading
Loading
Loading
+23 −47
Original line number Diff line number Diff line
@@ -1618,11 +1618,12 @@ static bool obj_request_type_valid(enum obj_request_type type)
	}
}

static int rbd_obj_request_submit(struct ceph_osd_client *osdc,
				struct rbd_obj_request *obj_request)
static void rbd_obj_request_submit(struct rbd_obj_request *obj_request)
{
	dout("%s %p\n", __func__, obj_request);
	return ceph_osdc_start_request(osdc, obj_request->osd_req, false);
	struct ceph_osd_request *osd_req = obj_request->osd_req;

	dout("%s %p osd_req %p\n", __func__, obj_request, osd_req);
	ceph_osdc_start_request(osd_req->r_osdc, osd_req, false);
}

static void rbd_obj_request_end(struct rbd_obj_request *obj_request)
@@ -2646,7 +2647,6 @@ rbd_img_obj_parent_read_full_callback(struct rbd_img_request *img_request)
{
	struct rbd_obj_request *orig_request;
	struct ceph_osd_request *osd_req;
	struct ceph_osd_client *osdc;
	struct rbd_device *rbd_dev;
	struct page **pages;
	enum obj_operation_type op_type;
@@ -2683,12 +2683,8 @@ rbd_img_obj_parent_read_full_callback(struct rbd_img_request *img_request)
	 * and re-submit the original write request.
	 */
	if (!rbd_dev->parent_overlap) {
		struct ceph_osd_client *osdc;

		ceph_release_page_vector(pages, page_count);
		osdc = &rbd_dev->rbd_client->client->osdc;
		img_result = rbd_obj_request_submit(osdc, orig_request);
		if (!img_result)
		rbd_obj_request_submit(orig_request);
		return;
	}

@@ -2723,10 +2719,9 @@ rbd_img_obj_parent_read_full_callback(struct rbd_img_request *img_request)

	/* All set, send it off. */

	osdc = &rbd_dev->rbd_client->client->osdc;
	img_result = rbd_obj_request_submit(osdc, orig_request);
	if (!img_result)
	rbd_obj_request_submit(orig_request);
	return;

out_err:
	/* Record the error code and complete the request */

@@ -2860,16 +2855,12 @@ static void rbd_img_obj_exists_callback(struct rbd_obj_request *obj_request)

	/*
	 * If the overlap has become 0 (most likely because the
	 * image has been flattened) we need to free the pages
	 * and re-submit the original write request.
	 * image has been flattened) we need to re-submit the
	 * original request.
	 */
	rbd_dev = orig_request->img_request->rbd_dev;
	if (!rbd_dev->parent_overlap) {
		struct ceph_osd_client *osdc;

		osdc = &rbd_dev->rbd_client->client->osdc;
		result = rbd_obj_request_submit(osdc, orig_request);
		if (!result)
		rbd_obj_request_submit(orig_request);
		return;
	}

@@ -2902,7 +2893,6 @@ static int rbd_img_obj_exists_submit(struct rbd_obj_request *obj_request)
{
	struct rbd_obj_request *stat_request;
	struct rbd_device *rbd_dev;
	struct ceph_osd_client *osdc;
	struct page **pages = NULL;
	u32 page_count;
	size_t size;
@@ -2946,8 +2936,9 @@ static int rbd_img_obj_exists_submit(struct rbd_obj_request *obj_request)
					false, false);
	rbd_osd_req_format_read(stat_request);

	osdc = &rbd_dev->rbd_client->client->osdc;
	ret = rbd_obj_request_submit(osdc, stat_request);
	rbd_obj_request_submit(stat_request);
	return 0;

out:
	if (ret)
		rbd_obj_request_put(obj_request);
@@ -3004,13 +2995,8 @@ static bool img_obj_request_simple(struct rbd_obj_request *obj_request)
static int rbd_img_obj_request_submit(struct rbd_obj_request *obj_request)
{
	if (img_obj_request_simple(obj_request)) {
		struct rbd_device *rbd_dev;
		struct ceph_osd_client *osdc;

		rbd_dev = obj_request->img_request->rbd_dev;
		osdc = &rbd_dev->rbd_client->client->osdc;

		return rbd_obj_request_submit(osdc, obj_request);
		rbd_obj_request_submit(obj_request);
		return 0;
	}

	/*
@@ -3073,11 +3059,7 @@ static void rbd_img_parent_read_callback(struct rbd_img_request *img_request)
	rbd_assert(obj_request->img_request);
	rbd_dev = obj_request->img_request->rbd_dev;
	if (!rbd_dev->parent_overlap) {
		struct ceph_osd_client *osdc;

		osdc = &rbd_dev->rbd_client->client->osdc;
		img_result = rbd_obj_request_submit(osdc, obj_request);
		if (!img_result)
		rbd_obj_request_submit(obj_request);
		return;
	}

@@ -4005,7 +3987,6 @@ static int rbd_obj_method_sync(struct rbd_device *rbd_dev,
			     void *inbound,
			     size_t inbound_size)
{
	struct ceph_osd_client *osdc = &rbd_dev->rbd_client->client->osdc;
	struct rbd_obj_request *obj_request;
	struct page **pages;
	u32 page_count;
@@ -4056,9 +4037,7 @@ static int rbd_obj_method_sync(struct rbd_device *rbd_dev,
					0, false, false);
	rbd_osd_req_format_read(obj_request);

	ret = rbd_obj_request_submit(osdc, obj_request);
	if (ret)
		goto out;
	rbd_obj_request_submit(obj_request);
	ret = rbd_obj_request_wait(obj_request);
	if (ret)
		goto out;
@@ -4266,7 +4245,6 @@ static int rbd_obj_read_sync(struct rbd_device *rbd_dev,
				u64 offset, u64 length, void *buf)

{
	struct ceph_osd_client *osdc = &rbd_dev->rbd_client->client->osdc;
	struct rbd_obj_request *obj_request;
	struct page **pages = NULL;
	u32 page_count;
@@ -4301,9 +4279,7 @@ static int rbd_obj_read_sync(struct rbd_device *rbd_dev,
					false, false);
	rbd_osd_req_format_read(obj_request);

	ret = rbd_obj_request_submit(osdc, obj_request);
	if (ret)
		goto out;
	rbd_obj_request_submit(obj_request);
	ret = rbd_obj_request_wait(obj_request);
	if (ret)
		goto out;