From 3a4c30f67bd4e413dccb8b46dae712b97abed689 Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Mon, 15 Apr 2013 14:50:36 -0500 Subject: [PATCH] --- yaml --- r: 373463 b: refs/heads/master c: 863c7eb590c154c7c2cfac40914f5bedcad1a166 h: refs/heads/master i: 373461: c650e558d634d6493ec5a6681aa9349d64ba8fac 373459: 5802ae45f90104d573cc592720a46a482a352b0e 373455: f9e04ed3fb5eb645569c238c15ecbd0028a485fd v: v3 --- [refs] | 2 +- trunk/net/ceph/osd_client.c | 48 ++++++++++++------------------------- 2 files changed, 16 insertions(+), 34 deletions(-) diff --git a/[refs] b/[refs] index fc9671608b64..9da7c5537d18 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 406e2c9f9286fc93ae2191a7abf477dea05aadc9 +refs/heads/master: 863c7eb590c154c7c2cfac40914f5bedcad1a166 diff --git a/trunk/net/ceph/osd_client.c b/trunk/net/ceph/osd_client.c index 409c443c8d1f..3c0715977de3 100644 --- a/trunk/net/ceph/osd_client.c +++ b/trunk/net/ceph/osd_client.c @@ -115,43 +115,25 @@ static void ceph_osd_data_bio_init(struct ceph_osd_data *osd_data, } #endif /* CONFIG_BLOCK */ +#define osd_req_op_data(oreq, whch, typ, fld) \ + ({ \ + BUG_ON(whch >= (oreq)->r_num_ops); \ + &(oreq)->r_ops[whch].typ.fld; \ + }) + struct ceph_osd_data * osd_req_op_extent_osd_data(struct ceph_osd_request *osd_req, unsigned int which) { - BUG_ON(which >= osd_req->r_num_ops); - - return &osd_req->r_ops[which].extent.osd_data; + return osd_req_op_data(osd_req, which, extent, osd_data); } EXPORT_SYMBOL(osd_req_op_extent_osd_data); -struct ceph_osd_data * -osd_req_op_cls_request_info(struct ceph_osd_request *osd_req, - unsigned int which) -{ - BUG_ON(which >= osd_req->r_num_ops); - - return &osd_req->r_ops[which].cls.request_info; -} -EXPORT_SYMBOL(osd_req_op_cls_request_info); /* ??? */ - -struct ceph_osd_data * -osd_req_op_cls_request_data(struct ceph_osd_request *osd_req, - unsigned int which) -{ - BUG_ON(which >= osd_req->r_num_ops); - - return &osd_req->r_ops[which].cls.request_data; -} -EXPORT_SYMBOL(osd_req_op_cls_request_data); /* ??? */ - struct ceph_osd_data * osd_req_op_cls_response_data(struct ceph_osd_request *osd_req, unsigned int which) { - BUG_ON(which >= osd_req->r_num_ops); - - return &osd_req->r_ops[which].cls.response_data; + return osd_req_op_data(osd_req, which, cls, response_data); } EXPORT_SYMBOL(osd_req_op_cls_response_data); /* ??? */ @@ -162,7 +144,7 @@ void osd_req_op_extent_osd_data_pages(struct ceph_osd_request *osd_req, { struct ceph_osd_data *osd_data; - osd_data = osd_req_op_extent_osd_data(osd_req, which); + osd_data = osd_req_op_data(osd_req, which, extent, osd_data); ceph_osd_data_pages_init(osd_data, pages, length, alignment, pages_from_pool, own_pages); } @@ -173,7 +155,7 @@ void osd_req_op_extent_osd_data_pagelist(struct ceph_osd_request *osd_req, { struct ceph_osd_data *osd_data; - osd_data = osd_req_op_extent_osd_data(osd_req, which); + osd_data = osd_req_op_data(osd_req, which, extent, osd_data); ceph_osd_data_pagelist_init(osd_data, pagelist); } EXPORT_SYMBOL(osd_req_op_extent_osd_data_pagelist); @@ -183,7 +165,8 @@ void osd_req_op_extent_osd_data_bio(struct ceph_osd_request *osd_req, unsigned int which, struct bio *bio, size_t bio_length) { struct ceph_osd_data *osd_data; - osd_data = osd_req_op_extent_osd_data(osd_req, which); + + osd_data = osd_req_op_data(osd_req, which, extent, osd_data); ceph_osd_data_bio_init(osd_data, bio, bio_length); } EXPORT_SYMBOL(osd_req_op_extent_osd_data_bio); @@ -195,7 +178,7 @@ static void osd_req_op_cls_request_info_pagelist( { struct ceph_osd_data *osd_data; - osd_data = osd_req_op_cls_request_info(osd_req, which); + osd_data = osd_req_op_data(osd_req, which, cls, request_info); ceph_osd_data_pagelist_init(osd_data, pagelist); } @@ -205,7 +188,7 @@ void osd_req_op_cls_request_data_pagelist( { struct ceph_osd_data *osd_data; - osd_data = osd_req_op_cls_request_data(osd_req, which); + osd_data = osd_req_op_data(osd_req, which, cls, request_data); ceph_osd_data_pagelist_init(osd_data, pagelist); } EXPORT_SYMBOL(osd_req_op_cls_request_data_pagelist); @@ -216,7 +199,7 @@ void osd_req_op_cls_response_data_pages(struct ceph_osd_request *osd_req, { struct ceph_osd_data *osd_data; - osd_data = osd_req_op_cls_response_data(osd_req, which); + osd_data = osd_req_op_data(osd_req, which, cls, response_data); ceph_osd_data_pages_init(osd_data, pages, length, alignment, pages_from_pool, own_pages); } @@ -241,7 +224,6 @@ static u64 ceph_osd_data_length(struct ceph_osd_data *osd_data) } } - static void ceph_osd_data_release(struct ceph_osd_data *osd_data) { if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGES && osd_data->own_pages) {