Message ID | 20170808084548.18963-47-ming.lei@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Aug 8, 2017 at 9:45 AM, Ming Lei <ming.lei@redhat.com> wrote: > Cc: Chris Mason <clm@fb.com> > Cc: Josef Bacik <jbacik@fb.com> > Cc: David Sterba <dsterba@suse.com> > Cc: linux-btrfs@vger.kernel.org > Signed-off-by: Ming Lei <ming.lei@redhat.com> Can you please add some meaningful changelog? E.g., why is this conversion needed. > --- > fs/btrfs/compression.c | 3 ++- > fs/btrfs/disk-io.c | 3 ++- > fs/btrfs/extent_io.c | 12 ++++++++---- > fs/btrfs/inode.c | 6 ++++-- > fs/btrfs/raid56.c | 1 + > 5 files changed, 17 insertions(+), 8 deletions(-) > > diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c > index 28746588f228..55f251a83d0b 100644 > --- a/fs/btrfs/compression.c > +++ b/fs/btrfs/compression.c > @@ -147,13 +147,14 @@ static void end_compressed_bio_read(struct bio *bio) > } else { > int i; > struct bio_vec *bvec; > + struct bvec_iter_all bia; > > /* > * we have verified the checksum already, set page > * checked so the end_io handlers know about it > */ > ASSERT(!bio_flagged(bio, BIO_CLONED)); > - bio_for_each_segment_all(bvec, cb->orig_bio, i) > + bio_for_each_segment_all_sp(bvec, cb->orig_bio, i, bia) > SetPageChecked(bvec->bv_page); > > bio_endio(cb->orig_bio); > diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c > index 080e2ebb8aa0..a9cd75e6383d 100644 > --- a/fs/btrfs/disk-io.c > +++ b/fs/btrfs/disk-io.c > @@ -963,9 +963,10 @@ static blk_status_t btree_csum_one_bio(struct bio *bio) > struct bio_vec *bvec; > struct btrfs_root *root; > int i, ret = 0; > + struct bvec_iter_all bia; > > ASSERT(!bio_flagged(bio, BIO_CLONED)); > - bio_for_each_segment_all(bvec, bio, i) { > + bio_for_each_segment_all_sp(bvec, bio, i, bia) { > root = BTRFS_I(bvec->bv_page->mapping->host)->root; > ret = csum_dirty_buffer(root->fs_info, bvec->bv_page); > if (ret) > diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c > index c8f6a8657bf2..4de9cfd1c385 100644 > --- a/fs/btrfs/extent_io.c > +++ b/fs/btrfs/extent_io.c > @@ -2359,8 +2359,9 @@ static unsigned int get_bio_pages(struct bio *bio) > { > unsigned i; > struct bio_vec *bv; > + struct bvec_iter_all bia; > > - bio_for_each_segment_all(bv, bio, i) > + bio_for_each_segment_all_sp(bv, bio, i, bia) > ; > > return i; > @@ -2463,9 +2464,10 @@ static void end_bio_extent_writepage(struct bio *bio) > u64 start; > u64 end; > int i; > + struct bvec_iter_all bia; > > ASSERT(!bio_flagged(bio, BIO_CLONED)); > - bio_for_each_segment_all(bvec, bio, i) { > + bio_for_each_segment_all_sp(bvec, bio, i, bia) { > struct page *page = bvec->bv_page; > struct inode *inode = page->mapping->host; > struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); > @@ -2534,9 +2536,10 @@ static void end_bio_extent_readpage(struct bio *bio) > int mirror; > int ret; > int i; > + struct bvec_iter_all bia; > > ASSERT(!bio_flagged(bio, BIO_CLONED)); > - bio_for_each_segment_all(bvec, bio, i) { > + bio_for_each_segment_all_sp(bvec, bio, i, bia) { > struct page *page = bvec->bv_page; > struct inode *inode = page->mapping->host; > struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); > @@ -3693,9 +3696,10 @@ static void end_bio_extent_buffer_writepage(struct bio *bio) > struct bio_vec *bvec; > struct extent_buffer *eb; > int i, done; > + struct bvec_iter_all bia; > > ASSERT(!bio_flagged(bio, BIO_CLONED)); > - bio_for_each_segment_all(bvec, bio, i) { > + bio_for_each_segment_all_sp(bvec, bio, i, bia) { > struct page *page = bvec->bv_page; > > eb = (struct extent_buffer *)page->private; > diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c > index 084ed99dd308..eeb2ff662ec4 100644 > --- a/fs/btrfs/inode.c > +++ b/fs/btrfs/inode.c > @@ -8047,6 +8047,7 @@ static void btrfs_retry_endio_nocsum(struct bio *bio) > struct bio_vec *bvec; > struct extent_io_tree *io_tree, *failure_tree; > int i; > + struct bvec_iter_all bia; > > if (bio->bi_status) > goto end; > @@ -8064,7 +8065,7 @@ static void btrfs_retry_endio_nocsum(struct bio *bio) > > done->uptodate = 1; > ASSERT(!bio_flagged(bio, BIO_CLONED)); > - bio_for_each_segment_all(bvec, bio, i) > + bio_for_each_segment_all_sp(bvec, bio, i, bia) > clean_io_failure(BTRFS_I(inode)->root->fs_info, failure_tree, > io_tree, done->start, bvec->bv_page, > btrfs_ino(BTRFS_I(inode)), 0); > @@ -8143,6 +8144,7 @@ static void btrfs_retry_endio(struct bio *bio) > int uptodate; > int ret; > int i; > + struct bvec_iter_all bia; > > if (bio->bi_status) > goto end; > @@ -8162,7 +8164,7 @@ static void btrfs_retry_endio(struct bio *bio) > failure_tree = &BTRFS_I(inode)->io_failure_tree; > > ASSERT(!bio_flagged(bio, BIO_CLONED)); > - bio_for_each_segment_all(bvec, bio, i) { > + bio_for_each_segment_all_sp(bvec, bio, i, bia) { > ret = __readpage_endio_check(inode, io_bio, i, bvec->bv_page, > bvec->bv_offset, done->start, > bvec->bv_len); > diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c > index 208638384cd2..9247226a2efd 100644 > --- a/fs/btrfs/raid56.c > +++ b/fs/btrfs/raid56.c > @@ -1365,6 +1365,7 @@ static int find_logical_bio_stripe(struct btrfs_raid_bio *rbio, > u64 logical = bio->bi_iter.bi_sector; > u64 stripe_start; > int i; > + struct bvec_iter_all bia; Unused variable. Thanks. > > logical <<= 9; > > -- > 2.9.4 >
Hi Ming, [auto build test WARNING on linus/master] [also build test WARNING on v4.13-rc4 next-20170810] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ming-Lei/block-support-multipage-bvec/20170810-110521 config: x86_64-randconfig-b0-08112217 (attached as .config) compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): fs/btrfs/raid56.c: In function 'find_logical_bio_stripe': >> fs/btrfs/raid56.c:1368: warning: unused variable 'bia' vim +/bia +1368 fs/btrfs/raid56.c 1356 1357 /* 1358 * helper to find the stripe number for a given 1359 * bio (before mapping). Used to figure out which stripe has 1360 * failed. This looks up based on logical block numbers. 1361 */ 1362 static int find_logical_bio_stripe(struct btrfs_raid_bio *rbio, 1363 struct bio *bio) 1364 { 1365 u64 logical = bio->bi_iter.bi_sector; 1366 u64 stripe_start; 1367 int i; > 1368 struct bvec_iter_all bia; 1369 1370 logical <<= 9; 1371 1372 for (i = 0; i < rbio->nr_data; i++) { 1373 stripe_start = rbio->bbio->raid_map[i]; 1374 if (logical >= stripe_start && 1375 logical < stripe_start + rbio->stripe_len) { 1376 return i; 1377 } 1378 } 1379 return -1; 1380 } 1381 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index 28746588f228..55f251a83d0b 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -147,13 +147,14 @@ static void end_compressed_bio_read(struct bio *bio) } else { int i; struct bio_vec *bvec; + struct bvec_iter_all bia; /* * we have verified the checksum already, set page * checked so the end_io handlers know about it */ ASSERT(!bio_flagged(bio, BIO_CLONED)); - bio_for_each_segment_all(bvec, cb->orig_bio, i) + bio_for_each_segment_all_sp(bvec, cb->orig_bio, i, bia) SetPageChecked(bvec->bv_page); bio_endio(cb->orig_bio); diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 080e2ebb8aa0..a9cd75e6383d 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -963,9 +963,10 @@ static blk_status_t btree_csum_one_bio(struct bio *bio) struct bio_vec *bvec; struct btrfs_root *root; int i, ret = 0; + struct bvec_iter_all bia; ASSERT(!bio_flagged(bio, BIO_CLONED)); - bio_for_each_segment_all(bvec, bio, i) { + bio_for_each_segment_all_sp(bvec, bio, i, bia) { root = BTRFS_I(bvec->bv_page->mapping->host)->root; ret = csum_dirty_buffer(root->fs_info, bvec->bv_page); if (ret) diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index c8f6a8657bf2..4de9cfd1c385 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -2359,8 +2359,9 @@ static unsigned int get_bio_pages(struct bio *bio) { unsigned i; struct bio_vec *bv; + struct bvec_iter_all bia; - bio_for_each_segment_all(bv, bio, i) + bio_for_each_segment_all_sp(bv, bio, i, bia) ; return i; @@ -2463,9 +2464,10 @@ static void end_bio_extent_writepage(struct bio *bio) u64 start; u64 end; int i; + struct bvec_iter_all bia; ASSERT(!bio_flagged(bio, BIO_CLONED)); - bio_for_each_segment_all(bvec, bio, i) { + bio_for_each_segment_all_sp(bvec, bio, i, bia) { struct page *page = bvec->bv_page; struct inode *inode = page->mapping->host; struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); @@ -2534,9 +2536,10 @@ static void end_bio_extent_readpage(struct bio *bio) int mirror; int ret; int i; + struct bvec_iter_all bia; ASSERT(!bio_flagged(bio, BIO_CLONED)); - bio_for_each_segment_all(bvec, bio, i) { + bio_for_each_segment_all_sp(bvec, bio, i, bia) { struct page *page = bvec->bv_page; struct inode *inode = page->mapping->host; struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); @@ -3693,9 +3696,10 @@ static void end_bio_extent_buffer_writepage(struct bio *bio) struct bio_vec *bvec; struct extent_buffer *eb; int i, done; + struct bvec_iter_all bia; ASSERT(!bio_flagged(bio, BIO_CLONED)); - bio_for_each_segment_all(bvec, bio, i) { + bio_for_each_segment_all_sp(bvec, bio, i, bia) { struct page *page = bvec->bv_page; eb = (struct extent_buffer *)page->private; diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 084ed99dd308..eeb2ff662ec4 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -8047,6 +8047,7 @@ static void btrfs_retry_endio_nocsum(struct bio *bio) struct bio_vec *bvec; struct extent_io_tree *io_tree, *failure_tree; int i; + struct bvec_iter_all bia; if (bio->bi_status) goto end; @@ -8064,7 +8065,7 @@ static void btrfs_retry_endio_nocsum(struct bio *bio) done->uptodate = 1; ASSERT(!bio_flagged(bio, BIO_CLONED)); - bio_for_each_segment_all(bvec, bio, i) + bio_for_each_segment_all_sp(bvec, bio, i, bia) clean_io_failure(BTRFS_I(inode)->root->fs_info, failure_tree, io_tree, done->start, bvec->bv_page, btrfs_ino(BTRFS_I(inode)), 0); @@ -8143,6 +8144,7 @@ static void btrfs_retry_endio(struct bio *bio) int uptodate; int ret; int i; + struct bvec_iter_all bia; if (bio->bi_status) goto end; @@ -8162,7 +8164,7 @@ static void btrfs_retry_endio(struct bio *bio) failure_tree = &BTRFS_I(inode)->io_failure_tree; ASSERT(!bio_flagged(bio, BIO_CLONED)); - bio_for_each_segment_all(bvec, bio, i) { + bio_for_each_segment_all_sp(bvec, bio, i, bia) { ret = __readpage_endio_check(inode, io_bio, i, bvec->bv_page, bvec->bv_offset, done->start, bvec->bv_len); diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c index 208638384cd2..9247226a2efd 100644 --- a/fs/btrfs/raid56.c +++ b/fs/btrfs/raid56.c @@ -1365,6 +1365,7 @@ static int find_logical_bio_stripe(struct btrfs_raid_bio *rbio, u64 logical = bio->bi_iter.bi_sector; u64 stripe_start; int i; + struct bvec_iter_all bia; logical <<= 9;
Cc: Chris Mason <clm@fb.com> Cc: Josef Bacik <jbacik@fb.com> Cc: David Sterba <dsterba@suse.com> Cc: linux-btrfs@vger.kernel.org Signed-off-by: Ming Lei <ming.lei@redhat.com> --- fs/btrfs/compression.c | 3 ++- fs/btrfs/disk-io.c | 3 ++- fs/btrfs/extent_io.c | 12 ++++++++---- fs/btrfs/inode.c | 6 ++++-- fs/btrfs/raid56.c | 1 + 5 files changed, 17 insertions(+), 8 deletions(-)