libceph: pass length to ceph_osdc_build_request()
authorAlex Elder <elder@inktank.com>
Wed, 14 Nov 2012 15:38:19 +0000 (09:38 -0600)
committerAlex Elder <elder@inktank.com>
Thu, 17 Jan 2013 21:52:04 +0000 (15:52 -0600)
The len argument to ceph_osdc_build_request() is set up to be
passed by address, but that function never updates its value
so there's no need to do this.  Tighten up the interface by
passing the length directly.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
drivers/block/rbd.c
include/linux/ceph/osd_client.h
net/ceph/osd_client.c

index 54bd9fc3ef7cc83867194f0bcd53ca4277b45adc..c1b135b6cb97cce9ecb2d4893442b3ddf8715756 100644 (file)
@@ -1172,7 +1172,7 @@ static int rbd_do_request(struct request *rq,
                                snapid, ofs, &len, &bno, osd_req, ops);
        rbd_assert(ret == 0);
 
-       ceph_osdc_build_request(osd_req, ofs, &len, ops, snapc, &mtime);
+       ceph_osdc_build_request(osd_req, ofs, len, ops, snapc, &mtime);
 
        if (linger_req) {
                ceph_osdc_set_request_linger(osdc, osd_req);
index 61562c7928554276cb3b07bf5aa7bdec2c35a95f..4bfb4582439a4503ace8bf9d0dee1b5b7259e3d1 100644 (file)
@@ -224,7 +224,7 @@ extern struct ceph_osd_request *ceph_osdc_alloc_request(struct ceph_osd_client *
                                               struct bio *bio);
 
 extern void ceph_osdc_build_request(struct ceph_osd_request *req,
-                                   u64 off, u64 *plen,
+                                   u64 off, u64 len,
                                    struct ceph_osd_req_op *src_ops,
                                    struct ceph_snap_context *snapc,
                                    struct timespec *mtime);
index 37d43d5b828c3cd2712ca373425c24527d6001d9..e29a3ed929584593d91ce501670ab72c33e2e59d 100644 (file)
@@ -336,7 +336,7 @@ static void osd_req_encode_op(struct ceph_osd_request *req,
  *
  */
 void ceph_osdc_build_request(struct ceph_osd_request *req,
-                            u64 off, u64 *plen,
+                            u64 off, u64 len,
                             struct ceph_osd_req_op *src_ops,
                             struct ceph_snap_context *snapc,
                             struct timespec *mtime)
@@ -390,7 +390,7 @@ void ceph_osdc_build_request(struct ceph_osd_request *req,
 
        if (flags & CEPH_OSD_FLAG_WRITE) {
                req->r_request->hdr.data_off = cpu_to_le16(off);
-               req->r_request->hdr.data_len = cpu_to_le32(*plen + data_len);
+               req->r_request->hdr.data_len = cpu_to_le32(len + data_len);
        } else if (data_len) {
                req->r_request->hdr.data_off = 0;
                req->r_request->hdr.data_len = cpu_to_le32(data_len);
@@ -464,7 +464,7 @@ struct ceph_osd_request *ceph_osdc_new_request(struct ceph_osd_client *osdc,
        req->r_num_pages = calc_pages_for(page_align, *plen);
        req->r_page_alignment = page_align;
 
-       ceph_osdc_build_request(req, off, plen, ops,
+       ceph_osdc_build_request(req, off, *plen, ops,
                                snapc,
                                mtime);