mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ming Lin <mlin@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
	Kent Overstreet <kent.overstreet@gmail.com>,
	Dongsu Park <dpark@posteo.net>, Mike Snitzer <snitzer@redhat.com>,
	Ming Lin <mlin@kernel.org>, Christoph Hellwig <hch@infradead.org>,
	Al Viro <viro@zeniv.linux.org.uk>,
	linux-fsdevel@vger.kernel.org, Ming Lin <ming.l@ssi.samsung.com>
Subject: [PATCH v5 09/11] fs: use helper bio_add_page() instead of open coding on bi_io_vec
Date: Mon,  6 Jul 2015 00:44:48 -0700	[thread overview]
Message-ID: <1436168690-32102-9-git-send-email-mlin@kernel.org> (raw)
In-Reply-To: <1436168690-32102-1-git-send-email-mlin@kernel.org>

From: Kent Overstreet <kent.overstreet@gmail.com>

Call pre-defined helper bio_add_page() instead of open coding for
iterating through bi_io_vec[]. Doing that, it's possible to make some
parts in filesystems and mm/page_io.c simpler than before.

Acked-by: Dave Kleikamp <shaggy@kernel.org>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
[dpark: add more description in commit message]
Signed-off-by: Dongsu Park <dpark@posteo.net>
Signed-off-by: Ming Lin <ming.l@ssi.samsung.com>
---
 fs/buffer.c         |  7 ++-----
 fs/jfs/jfs_logmgr.c | 14 ++++----------
 mm/page_io.c        |  8 +++-----
 3 files changed, 9 insertions(+), 20 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index 1cf7a53..95996ba 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -3046,12 +3046,9 @@ static int submit_bh_wbc(int rw, struct buffer_head *bh,
 
 	bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
 	bio->bi_bdev = bh->b_bdev;
-	bio->bi_io_vec[0].bv_page = bh->b_page;
-	bio->bi_io_vec[0].bv_len = bh->b_size;
-	bio->bi_io_vec[0].bv_offset = bh_offset(bh);
 
-	bio->bi_vcnt = 1;
-	bio->bi_iter.bi_size = bh->b_size;
+	bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh));
+	BUG_ON(bio->bi_iter.bi_size != bh->b_size);
 
 	bio->bi_end_io = end_bio_bh_io_sync;
 	bio->bi_private = bh;
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
index bc462dc..46fae06 100644
--- a/fs/jfs/jfs_logmgr.c
+++ b/fs/jfs/jfs_logmgr.c
@@ -1999,12 +1999,9 @@ static int lbmRead(struct jfs_log * log, int pn, struct lbuf ** bpp)
 
 	bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9);
 	bio->bi_bdev = log->bdev;
-	bio->bi_io_vec[0].bv_page = bp->l_page;
-	bio->bi_io_vec[0].bv_len = LOGPSIZE;
-	bio->bi_io_vec[0].bv_offset = bp->l_offset;
 
-	bio->bi_vcnt = 1;
-	bio->bi_iter.bi_size = LOGPSIZE;
+	bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset);
+	BUG_ON(bio->bi_iter.bi_size != LOGPSIZE);
 
 	bio->bi_end_io = lbmIODone;
 	bio->bi_private = bp;
@@ -2145,12 +2142,9 @@ static void lbmStartIO(struct lbuf * bp)
 	bio = bio_alloc(GFP_NOFS, 1);
 	bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9);
 	bio->bi_bdev = log->bdev;
-	bio->bi_io_vec[0].bv_page = bp->l_page;
-	bio->bi_io_vec[0].bv_len = LOGPSIZE;
-	bio->bi_io_vec[0].bv_offset = bp->l_offset;
 
-	bio->bi_vcnt = 1;
-	bio->bi_iter.bi_size = LOGPSIZE;
+	bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset);
+	BUG_ON(bio->bi_iter.bi_size != LOGPSIZE);
 
 	bio->bi_end_io = lbmIODone;
 	bio->bi_private = bp;
diff --git a/mm/page_io.c b/mm/page_io.c
index 520baa4..194081b 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -33,12 +33,10 @@ static struct bio *get_swap_bio(gfp_t gfp_flags,
 	if (bio) {
 		bio->bi_iter.bi_sector = map_swap_page(page, &bio->bi_bdev);
 		bio->bi_iter.bi_sector <<= PAGE_SHIFT - 9;
-		bio->bi_io_vec[0].bv_page = page;
-		bio->bi_io_vec[0].bv_len = PAGE_SIZE;
-		bio->bi_io_vec[0].bv_offset = 0;
-		bio->bi_vcnt = 1;
-		bio->bi_iter.bi_size = PAGE_SIZE;
 		bio->bi_end_io = end_io;
+
+		bio_add_page(bio, page, PAGE_SIZE, 0);
+		BUG_ON(bio->bi_iter.bi_size != PAGE_SIZE);
 	}
 	return bio;
 }
-- 
1.9.1


  parent reply	other threads:[~2015-07-06  7:46 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-06  7:44 [PATCH v5 01/11] block: make generic_make_request handle arbitrarily sized bios Ming Lin
2015-07-06  7:44 ` [PATCH v5 02/11] block: simplify bio_add_page() Ming Lin
2015-07-06  7:44 ` [PATCH v5 03/11] bcache: remove driver private bio splitting code Ming Lin
2015-07-06  7:44 ` [PATCH v5 04/11] btrfs: remove bio splitting and merge_bvec_fn() calls Ming Lin
2015-07-06  7:44 ` [PATCH v5 05/11] block: remove split code in blkdev_issue_discard Ming Lin
2015-07-06  7:44 ` [PATCH v5 06/11] md/raid5: split bio for chunk_aligned_read Ming Lin
2015-07-06  7:44 ` [PATCH v5 07/11] md/raid5: get rid of bio_fits_rdev() Ming Lin
2015-07-06  7:44 ` [PATCH v5 08/11] block: kill merge_bvec_fn() completely Ming Lin
2015-07-06  7:44 ` Ming Lin [this message]
2015-07-06  7:44 ` [PATCH v5 10/11] block: remove bio_get_nr_vecs() Ming Lin
2015-07-06 10:58   ` Steven Whitehouse
2015-07-06 17:21     ` Ming Lin
2015-07-07  9:04       ` Steven Whitehouse
2015-07-06  7:44 ` [PATCH v5 11/11] Documentation: update notes in biovecs about arbitrarily sized bios Ming Lin
2015-07-31 19:23 ` [PATCH v5 01/11] block: make generic_make_request handle " Mike Snitzer
2015-07-31 21:19   ` Ming Lin
2015-07-31 21:38     ` Mike Snitzer
2015-07-31 22:02       ` Ming Lin
2015-07-31 22:18         ` Ming Lin
2015-08-01  6:58       ` Ming Lin
2015-08-01 16:33         ` Mike Snitzer
2015-08-03  5:58           ` Ming Lin
2015-08-04 11:36             ` Christoph Hellwig
2015-08-05  6:03               ` Ming Lin
2015-08-07  7:30                 ` Christoph Hellwig
2015-08-07 23:40                   ` Ming Lin
2015-08-08  0:30                     ` Kent Overstreet
2015-08-08  5:17                       ` Ming Lin
2015-08-08  5:22                         ` Kent Overstreet
2015-08-08 12:35                           ` Christoph Hellwig
2015-08-08  8:52                     ` [dm-devel] " Hannes Reinecke
2015-08-08  9:02                       ` Kent Overstreet
2015-08-13  6:04                         ` Hannes Reinecke
2015-08-07  0:00               ` Kent Overstreet
2015-08-07  7:30                 ` Christoph Hellwig
2015-08-08 16:19           ` [dm-devel] " Martin K. Petersen
2015-08-09  5:59             ` Ming Lin
2015-08-09  6:41               ` Christoph Hellwig
2015-08-09  6:55                 ` Ming Lin
2015-08-09  7:01                   ` Christoph Hellwig
2015-08-09  7:18                     ` Ming Lin
2015-08-10 15:02                       ` Mike Snitzer
2015-08-10 16:14                         ` Ming Lin
2015-08-10 16:18                           ` Ming Lin
2015-08-10 16:40                           ` Martin K. Petersen
2015-08-10 18:13                           ` Mike Snitzer
2015-08-10 22:30                             ` Ming Lin
2015-08-10 16:22                         ` Martin K. Petersen
2015-08-10 18:18                           ` Ming Lin
2015-08-11  2:00                             ` Martin K. Petersen
2015-08-11  2:41                               ` Mike Snitzer
2015-08-11  3:38                                 ` Kent Overstreet
2015-08-11 14:08                                   ` Mike Snitzer
2015-08-11 17:49                                   ` Martin K. Petersen
2015-08-11 18:05                                     ` Martin K. Petersen
2015-08-11 20:56                                       ` Ming Lin
2015-08-12  0:24                                         ` Martin K. Petersen
2015-08-12  4:41                                           ` Ming Lin
2015-08-11 17:36                                 ` Martin K. Petersen
2015-08-11 17:47                                   ` Mike Snitzer
2015-08-11 18:01                                     ` [dm-devel] " Martin K. Petersen
  -- strict thread matches above, loose matches on Subject: below --
2015-07-06  7:11 [PATCH v5 00/11] simplify block layer based on immutable biovecs mlin
2015-07-06  7:11 ` [PATCH v5 09/11] fs: use helper bio_add_page() instead of open coding on bi_io_vec mlin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1436168690-32102-9-git-send-email-mlin@kernel.org \
    --to=mlin@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=dpark@posteo.net \
    --cc=hch@infradead.org \
    --cc=hch@lst.de \
    --cc=kent.overstreet@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ming.l@ssi.samsung.com \
    --cc=snitzer@redhat.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome