diff options
author | Alex Elder <elder@inktank.com> | 2013-03-12 05:34:23 +0100 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-05-02 06:17:26 +0200 |
commit | 6518be47f910f62a98cb6044dbb457af55241f95 (patch) | |
tree | 6d1244367ec16ee602b44573a7b84646d416214a | |
parent | libceph: use cursor for bio reads (diff) | |
download | linux-6518be47f910f62a98cb6044dbb457af55241f95.tar.xz linux-6518be47f910f62a98cb6044dbb457af55241f95.zip |
libceph: kill ceph message bio_iter, bio_seg
The bio_iter and bio_seg fields in a message are no longer used, we
use the cursor instead. So get rid of them and the functions that
operate on them them.
This is related to:
http://tracker.ceph.com/issues/4428
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
-rw-r--r-- | include/linux/ceph/messenger.h | 6 | ||||
-rw-r--r-- | net/ceph/messenger.c | 31 |
2 files changed, 1 insertions, 36 deletions
diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h index 459e55280bf8..252e01b7f7de 100644 --- a/include/linux/ceph/messenger.h +++ b/include/linux/ceph/messenger.h @@ -121,11 +121,7 @@ struct ceph_msg_data { enum ceph_msg_data_type type; union { #ifdef CONFIG_BLOCK - struct { - struct bio *bio_iter; /* iterator */ - struct bio *bio; - unsigned int bio_seg; /* current seg in bio */ - }; + struct bio *bio; #endif /* CONFIG_BLOCK */ struct { struct page **pages; /* NOT OWNER. */ diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index c795d46d7d4b..b634d2098777 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -716,29 +716,6 @@ static void con_out_kvec_add(struct ceph_connection *con, } #ifdef CONFIG_BLOCK -static void init_bio_iter(struct bio *bio, struct bio **bio_iter, - unsigned int *bio_seg) -{ - if (!bio) { - *bio_iter = NULL; - *bio_seg = 0; - return; - } - *bio_iter = bio; - *bio_seg = (unsigned int) bio->bi_idx; -} - -static void iter_bio_next(struct bio **bio_iter, unsigned int *seg) -{ - if (*bio_iter == NULL) - return; - - BUG_ON(*seg >= (*bio_iter)->bi_vcnt); - - (*seg)++; - if (*seg == (*bio_iter)->bi_vcnt) - init_bio_iter((*bio_iter)->bi_next, bio_iter, seg); -} /* * For a bio data item, a piece is whatever remains of the next @@ -1112,10 +1089,6 @@ static void prepare_message_data(struct ceph_msg *msg, msg_pos->page_pos = msg->p.alignment; else msg_pos->page_pos = 0; -#ifdef CONFIG_BLOCK - if (ceph_msg_has_bio(msg)) - init_bio_iter(msg->b.bio, &msg->b.bio_iter, &msg->b.bio_seg); -#endif msg_pos->data_pos = 0; /* Initialize data cursors */ @@ -1478,10 +1451,6 @@ static void in_msg_pos_next(struct ceph_connection *con, size_t len, BUG_ON(received != len); msg_pos->page_pos = 0; msg_pos->page++; -#ifdef CONFIG_BLOCK - if (msg->b.bio) - iter_bio_next(&msg->b.bio_iter, &msg->b.bio_seg); -#endif /* CONFIG_BLOCK */ } static u32 ceph_crc32c_page(u32 crc, struct page *page, |