OSDN Git Service

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 54bd9fc..c1b135b 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 61562c7..4bfb458 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 37d43d5..e29a3ed 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);