diff options
author | Alex Elder <elder@inktank.com> | 2013-02-25 17:35:46 -0600 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-05-01 21:14:28 -0700 |
commit | d4b515fa10dd52a2aef88df7299e9f3a8ab0957a (patch) | |
tree | 0110566b4e00aeb5215b1b967ff64695cd45eb10 /net | |
parent | 60cf5992d96dd5b97baf74cd400d6e05f7f2c93e (diff) |
libceph: distinguish page array and pagelist count
Use distinct fields for tracking the number of pages in a message's
page array and in a message's page list. Currently only one or the
other is used at a time, but that will be changing soon.
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/ceph/messenger.c | 14 | ||||
-rw-r--r-- | net/ceph/osd_client.c | 4 |
2 files changed, 10 insertions, 8 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index c06f94009d73..9d8abb0a7cef 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -813,7 +813,7 @@ static void prepare_write_message(struct ceph_connection *con) m, con->out_seq, le16_to_cpu(m->hdr.type), le32_to_cpu(m->hdr.front_len), le32_to_cpu(m->hdr.middle_len), le32_to_cpu(m->hdr.data_len), - m->nr_pages); + m->page_count); BUG_ON(le32_to_cpu(m->hdr.front_len) != m->front.iov_len); /* tag + hdr + front + middle */ @@ -1072,7 +1072,7 @@ static int write_partial_msg_pages(struct ceph_connection *con) const size_t trail_off = data_len - trail_len; dout("write_partial_msg_pages %p msg %p page %d/%d offset %d\n", - con, msg, con->out_msg_pos.page, msg->nr_pages, + con, msg, con->out_msg_pos.page, msg->page_count, con->out_msg_pos.page_pos); /* @@ -2715,9 +2715,10 @@ struct ceph_msg *ceph_msg_new(int type, int front_len, gfp_t flags, m->middle = NULL; /* data */ - m->nr_pages = 0; + m->page_count = 0; m->page_alignment = 0; m->pages = NULL; + m->pagelist_count = 0; m->pagelist = NULL; #ifdef CONFIG_BLOCK m->bio = NULL; @@ -2890,13 +2891,14 @@ void ceph_msg_last_put(struct kref *kref) ceph_buffer_put(m->middle); m->middle = NULL; } - m->nr_pages = 0; + m->page_count = 0; m->pages = NULL; if (m->pagelist) { ceph_pagelist_release(m->pagelist); kfree(m->pagelist); m->pagelist = NULL; + m->pagelist_count = 0; } m->trail = NULL; @@ -2910,8 +2912,8 @@ EXPORT_SYMBOL(ceph_msg_last_put); void ceph_msg_dump(struct ceph_msg *msg) { - pr_debug("msg_dump %p (front_max %d nr_pages %d)\n", msg, - msg->front_max, msg->nr_pages); + pr_debug("msg_dump %p (front_max %d page_count %d)\n", msg, + msg->front_max, msg->page_count); print_hex_dump(KERN_DEBUG, "header: ", DUMP_PREFIX_OFFSET, 16, 1, &msg->hdr, sizeof(msg->hdr), true); diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c index 29e4fe09e31a..c3d8c6904df3 100644 --- a/net/ceph/osd_client.c +++ b/net/ceph/osd_client.c @@ -1742,7 +1742,7 @@ int ceph_osdc_start_request(struct ceph_osd_client *osdc, int rc = 0; req->r_request->pages = req->r_pages; - req->r_request->nr_pages = req->r_num_pages; + req->r_request->page_count = req->r_num_pages; #ifdef CONFIG_BLOCK req->r_request->bio = req->r_bio; #endif @@ -2093,7 +2093,7 @@ static struct ceph_msg *get_reply(struct ceph_connection *con, goto out; } m->pages = req->r_pages; - m->nr_pages = req->r_num_pages; + m->page_count = req->r_num_pages; m->page_alignment = req->r_page_alignment; #ifdef CONFIG_BLOCK m->bio = req->r_bio; |