Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6518be47 authored by Alex Elder's avatar Alex Elder Committed by Sage Weil
Browse files

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: default avatarAlex Elder <elder@inktank.com>
Reviewed-by: default avatarJosh Durgin <josh.durgin@inktank.com>
parent 463207aa
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -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 */
		};
#endif /* CONFIG_BLOCK */
		struct {
			struct page	**pages;	/* NOT OWNER. */
+0 −31
Original line number Diff line number Diff line
@@ -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,