Skip to content

Commit 6cf66b4

Browse files
koverstreetaxboe
authored andcommitted
fs: use helper bio_add_page() instead of open coding on bi_io_vec
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> Signed-off-by: Jens Axboe <axboe@fb.com>
1 parent 8ae1266 commit 6cf66b4

File tree

3 files changed

+9
-20
lines changed

3 files changed

+9
-20
lines changed

fs/buffer.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3046,12 +3046,9 @@ static int submit_bh_wbc(int rw, struct buffer_head *bh,
30463046

30473047
bio->bi_iter.bi_sector = bh->b_blocknr * (bh->b_size >> 9);
30483048
bio->bi_bdev = bh->b_bdev;
3049-
bio->bi_io_vec[0].bv_page = bh->b_page;
3050-
bio->bi_io_vec[0].bv_len = bh->b_size;
3051-
bio->bi_io_vec[0].bv_offset = bh_offset(bh);
30523049

3053-
bio->bi_vcnt = 1;
3054-
bio->bi_iter.bi_size = bh->b_size;
3050+
bio_add_page(bio, bh->b_page, bh->b_size, bh_offset(bh));
3051+
BUG_ON(bio->bi_iter.bi_size != bh->b_size);
30553052

30563053
bio->bi_end_io = end_bio_bh_io_sync;
30573054
bio->bi_private = bh;

fs/jfs/jfs_logmgr.c

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1999,12 +1999,9 @@ static int lbmRead(struct jfs_log * log, int pn, struct lbuf ** bpp)
19991999

20002000
bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9);
20012001
bio->bi_bdev = log->bdev;
2002-
bio->bi_io_vec[0].bv_page = bp->l_page;
2003-
bio->bi_io_vec[0].bv_len = LOGPSIZE;
2004-
bio->bi_io_vec[0].bv_offset = bp->l_offset;
20052002

2006-
bio->bi_vcnt = 1;
2007-
bio->bi_iter.bi_size = LOGPSIZE;
2003+
bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset);
2004+
BUG_ON(bio->bi_iter.bi_size != LOGPSIZE);
20082005

20092006
bio->bi_end_io = lbmIODone;
20102007
bio->bi_private = bp;
@@ -2145,12 +2142,9 @@ static void lbmStartIO(struct lbuf * bp)
21452142
bio = bio_alloc(GFP_NOFS, 1);
21462143
bio->bi_iter.bi_sector = bp->l_blkno << (log->l2bsize - 9);
21472144
bio->bi_bdev = log->bdev;
2148-
bio->bi_io_vec[0].bv_page = bp->l_page;
2149-
bio->bi_io_vec[0].bv_len = LOGPSIZE;
2150-
bio->bi_io_vec[0].bv_offset = bp->l_offset;
21512145

2152-
bio->bi_vcnt = 1;
2153-
bio->bi_iter.bi_size = LOGPSIZE;
2146+
bio_add_page(bio, bp->l_page, LOGPSIZE, bp->l_offset);
2147+
BUG_ON(bio->bi_iter.bi_size != LOGPSIZE);
21542148

21552149
bio->bi_end_io = lbmIODone;
21562150
bio->bi_private = bp;

mm/page_io.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,10 @@ static struct bio *get_swap_bio(gfp_t gfp_flags,
3333
if (bio) {
3434
bio->bi_iter.bi_sector = map_swap_page(page, &bio->bi_bdev);
3535
bio->bi_iter.bi_sector <<= PAGE_SHIFT - 9;
36-
bio->bi_io_vec[0].bv_page = page;
37-
bio->bi_io_vec[0].bv_len = PAGE_SIZE;
38-
bio->bi_io_vec[0].bv_offset = 0;
39-
bio->bi_vcnt = 1;
40-
bio->bi_iter.bi_size = PAGE_SIZE;
4136
bio->bi_end_io = end_io;
37+
38+
bio_add_page(bio, page, PAGE_SIZE, 0);
39+
BUG_ON(bio->bi_iter.bi_size != PAGE_SIZE);
4240
}
4341
return bio;
4442
}

0 commit comments

Comments
 (0)