Commit 2b070cfe authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

block: remove the i argument to bio_for_each_segment_all



We only have two callers that need the integer loop iterator, and they
can easily maintain it themselves.

Suggested-by: default avatarMatthew Wilcox <willy@infradead.org>
Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Acked-by: default avatarDavid Sterba <dsterba@suse.com>
Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
Acked-by: default avatarColy Li <colyli@suse.de>
Reviewed-by: default avatarMatthew Wilcox <willy@infradead.org>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent f936b06a
Loading
Loading
Loading
Loading
+10 −19
Original line number Diff line number Diff line
@@ -874,9 +874,8 @@ static void bio_get_pages(struct bio *bio)
{
	struct bvec_iter_all iter_all;
	struct bio_vec *bvec;
	int i;

	bio_for_each_segment_all(bvec, bio, i, iter_all)
	bio_for_each_segment_all(bvec, bio, iter_all)
		get_page(bvec->bv_page);
}

@@ -884,9 +883,8 @@ static void bio_release_pages(struct bio *bio)
{
	struct bvec_iter_all iter_all;
	struct bio_vec *bvec;
	int i;

	bio_for_each_segment_all(bvec, bio, i, iter_all)
	bio_for_each_segment_all(bvec, bio, iter_all)
		put_page(bvec->bv_page);
}

@@ -1166,11 +1164,10 @@ static struct bio_map_data *bio_alloc_map_data(struct iov_iter *data,
 */
static int bio_copy_from_iter(struct bio *bio, struct iov_iter *iter)
{
	int i;
	struct bio_vec *bvec;
	struct bvec_iter_all iter_all;

	bio_for_each_segment_all(bvec, bio, i, iter_all) {
	bio_for_each_segment_all(bvec, bio, iter_all) {
		ssize_t ret;

		ret = copy_page_from_iter(bvec->bv_page,
@@ -1198,11 +1195,10 @@ static int bio_copy_from_iter(struct bio *bio, struct iov_iter *iter)
 */
static int bio_copy_to_iter(struct bio *bio, struct iov_iter iter)
{
	int i;
	struct bio_vec *bvec;
	struct bvec_iter_all iter_all;

	bio_for_each_segment_all(bvec, bio, i, iter_all) {
	bio_for_each_segment_all(bvec, bio, iter_all) {
		ssize_t ret;

		ret = copy_page_to_iter(bvec->bv_page,
@@ -1223,10 +1219,9 @@ static int bio_copy_to_iter(struct bio *bio, struct iov_iter iter)
void bio_free_pages(struct bio *bio)
{
	struct bio_vec *bvec;
	int i;
	struct bvec_iter_all iter_all;

	bio_for_each_segment_all(bvec, bio, i, iter_all)
	bio_for_each_segment_all(bvec, bio, iter_all)
		__free_page(bvec->bv_page);
}
EXPORT_SYMBOL(bio_free_pages);
@@ -1464,7 +1459,7 @@ struct bio *bio_map_user_iov(struct request_queue *q,
	return bio;

 out_unmap:
	bio_for_each_segment_all(bvec, bio, j, iter_all) {
	bio_for_each_segment_all(bvec, bio, iter_all) {
		put_page(bvec->bv_page);
	}
	bio_put(bio);
@@ -1474,13 +1469,12 @@ struct bio *bio_map_user_iov(struct request_queue *q,
static void __bio_unmap_user(struct bio *bio)
{
	struct bio_vec *bvec;
	int i;
	struct bvec_iter_all iter_all;

	/*
	 * make sure we dirty pages we wrote to
	 */
	bio_for_each_segment_all(bvec, bio, i, iter_all) {
	bio_for_each_segment_all(bvec, bio, iter_all) {
		if (bio_data_dir(bio) == READ)
			set_page_dirty_lock(bvec->bv_page);

@@ -1571,10 +1565,9 @@ static void bio_copy_kern_endio_read(struct bio *bio)
{
	char *p = bio->bi_private;
	struct bio_vec *bvec;
	int i;
	struct bvec_iter_all iter_all;

	bio_for_each_segment_all(bvec, bio, i, iter_all) {
	bio_for_each_segment_all(bvec, bio, iter_all) {
		memcpy(p, page_address(bvec->bv_page), bvec->bv_len);
		p += bvec->bv_len;
	}
@@ -1682,10 +1675,9 @@ cleanup:
void bio_set_pages_dirty(struct bio *bio)
{
	struct bio_vec *bvec;
	int i;
	struct bvec_iter_all iter_all;

	bio_for_each_segment_all(bvec, bio, i, iter_all) {
	bio_for_each_segment_all(bvec, bio, iter_all) {
		if (!PageCompound(bvec->bv_page))
			set_page_dirty_lock(bvec->bv_page);
	}
@@ -1734,10 +1726,9 @@ void bio_check_pages_dirty(struct bio *bio)
{
	struct bio_vec *bvec;
	unsigned long flags;
	int i;
	struct bvec_iter_all iter_all;

	bio_for_each_segment_all(bvec, bio, i, iter_all) {
	bio_for_each_segment_all(bvec, bio, iter_all) {
		if (!PageDirty(bvec->bv_page) && !PageCompound(bvec->bv_page))
			goto defer;
	}
+1 −2
Original line number Diff line number Diff line
@@ -163,14 +163,13 @@ static void bounce_end_io(struct bio *bio, mempool_t *pool)
{
	struct bio *bio_orig = bio->bi_private;
	struct bio_vec *bvec, orig_vec;
	int i;
	struct bvec_iter orig_iter = bio_orig->bi_iter;
	struct bvec_iter_all iter_all;

	/*
	 * free up bounce indirect pages used
	 */
	bio_for_each_segment_all(bvec, bio, i, iter_all) {
	bio_for_each_segment_all(bvec, bio, iter_all) {
		orig_vec = bio_iter_iovec(bio_orig, orig_iter);
		if (bvec->bv_page != orig_vec.bv_page) {
			dec_zone_page_state(bvec->bv_page, NR_BOUNCE);
+1 −2
Original line number Diff line number Diff line
@@ -429,12 +429,11 @@ static void do_btree_node_write(struct btree *b)
		       bset_sector_offset(&b->keys, i));

	if (!bch_bio_alloc_pages(b->bio, __GFP_NOWARN|GFP_NOWAIT)) {
		int j;
		struct bio_vec *bv;
		void *addr = (void *) ((unsigned long) i & ~(PAGE_SIZE - 1));
		struct bvec_iter_all iter_all;

		bio_for_each_segment_all(bv, b->bio, j, iter_all) {
		bio_for_each_segment_all(bv, b->bio, iter_all) {
			memcpy(page_address(bv->bv_page), addr, PAGE_SIZE);
			addr += PAGE_SIZE;
		}
+1 −2
Original line number Diff line number Diff line
@@ -1445,11 +1445,10 @@ out:

static void crypt_free_buffer_pages(struct crypt_config *cc, struct bio *clone)
{
	unsigned int i;
	struct bio_vec *bv;
	struct bvec_iter_all iter_all;

	bio_for_each_segment_all(bv, clone, i, iter_all) {
	bio_for_each_segment_all(bv, clone, iter_all) {
		BUG_ON(!bv->bv_page);
		mempool_free(bv->bv_page, &cc->page_pool);
	}
+3 −3
Original line number Diff line number Diff line
@@ -2110,7 +2110,7 @@ static void process_checks(struct r1bio *r1_bio)
		}
	r1_bio->read_disk = primary;
	for (i = 0; i < conf->raid_disks * 2; i++) {
		int j;
		int j = 0;
		struct bio *pbio = r1_bio->bios[primary];
		struct bio *sbio = r1_bio->bios[i];
		blk_status_t status = sbio->bi_status;
@@ -2125,8 +2125,8 @@ static void process_checks(struct r1bio *r1_bio)
		/* Now we can 'fixup' the error value */
		sbio->bi_status = 0;

		bio_for_each_segment_all(bi, sbio, j, iter_all)
			page_len[j] = bi->bv_len;
		bio_for_each_segment_all(bi, sbio, iter_all)
			page_len[j++] = bi->bv_len;

		if (!status) {
			for (j = vcnt; j-- ; ) {
Loading