linux-next: build failure after merge of the block tree

From: Stephen Rothwell
Date: Mon May 06 2019 - 01:07:51 EST


Hi Jens,

After merging the block tree, today's linux-next build (x86_64
allmodconfig) failed like this:

fs/gfs2/lops.c: In function 'gfs2_end_log_read':
fs/gfs2/lops.c:394:49: error: macro "bio_for_each_segment_all" passed 4 arguments, but takes just 3
bio_for_each_segment_all(bvec, bio, i, iter_all) {
^
fs/gfs2/lops.c:394:2: error: 'bio_for_each_segment_all' undeclared (first use in this function); did you mean 'bio_first_page_all'?
bio_for_each_segment_all(bvec, bio, i, iter_all) {
^~~~~~~~~~~~~~~~~~~~~~~~
bio_first_page_all
fs/gfs2/lops.c:394:2: note: each undeclared identifier is reported only once for each function it appears in
fs/gfs2/lops.c:394:26: error: expected ';' before '{' token
bio_for_each_segment_all(bvec, bio, i, iter_all) {
^ ~
;

Caused by commit

2b070cfe582b ("block: remove the i argument to bio_for_each_segment_all")

interacting with commit

e21e191994af ("gfs2: read journal in large chunks")

from the gfs2 tree.

I have applied the following patch for today:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Mon, 6 May 2019 14:57:42 +1000
Subject: [PATCH] gfs2: fix for "block: remove the i argument to bio_for_each_segment_all"

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
fs/gfs2/lops.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c
index 3b3dd2ef53f7..33ab662c9aac 100644
--- a/fs/gfs2/lops.c
+++ b/fs/gfs2/lops.c
@@ -388,10 +388,9 @@ static void gfs2_end_log_read(struct bio *bio)
{
struct page *page;
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) {
page = bvec->bv_page;
if (bio->bi_status) {
int err = blk_status_to_errno(bio->bi_status);
--
2.20.1

--
Cheers,
Stephen Rothwell

Attachment: pgpLGjqgkSCrm.pgp
Description: OpenPGP digital signature