libceph: don't assign page info in ceph_osdc_new_request()
authorAlex Elder <elder@inktank.com>
Sat, 2 Mar 2013 00:00:15 +0000 (18:00 -0600)
committerSage Weil <sage@inktank.com>
Thu, 2 May 2013 04:16:23 +0000 (21:16 -0700)
commit153e5167e0e237faaefb7adf82db5748c1452d73
treefa0e5ec90ef466cb7100f64ee4d2b9bf7c4ad69d
parent3a42b6c43e4ef65d0edd7d9e5c4366002b4e951d
libceph: don't assign page info in ceph_osdc_new_request()

Currently ceph_osdc_new_request() assigns an osd request's
r_num_pages and r_alignment fields.  The only thing it does
after that is call ceph_osdc_build_request(), and that doesn't
need those fields to be assigned.

Move the assignment of those fields out of ceph_osdc_new_request()
and into its caller.  As a result, the page_align parameter is no
longer used, so get rid of it.

Note that in ceph_sync_write(), the value for req->r_num_pages had
already been calculated earlier (as num_pages, and fortunately
it was computed the same way).  So don't bother recomputing it,
but because it's not needed earlier, move that calculation after the
call to ceph_osdc_new_request().  Hold off making the assignment to
r_alignment, doing it instead r_pages and r_num_pages are
getting set.

Similarly, in start_read(), nr_pages already holds the number of
pages in the array (and is calculated the same way), so there's no
need to recompute it.  Move the assignment of the page alignment
down with the others there as well.

This and the next few patches are preparation work for:
    http://tracker.ceph.com/issues/4127

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