Hi all, 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:39: error: macro "bio_for_each_segment_all" requires 4 arguments, but only 3 given bio_for_each_segment_all(bvec, bio, i) { ^ 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) { ^~~~~~~~~~~~~~~~~~~~~~~~ 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) { ^ ~ ; Caused by commit eb754eb2a953 ("block: allow bio_for_each_segment_all() to iterate over multi-page bvec") One instance of bio_for_each_segment_all() was missed. I have applied the following fix patch for today. From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Wed, 16 Jan 2019 13:44:02 +1100 Subject: [PATCH] block: fix up for bio_for_each_segment_all() API change Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- fs/gfs2/lops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index ef68bf6232e7..15deefeaafd0 100644 --- a/fs/gfs2/lops.c +++ b/fs/gfs2/lops.c @@ -390,8 +390,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) { + bio_for_each_segment_all(bvec, bio, i, 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:
pgplcePXE2Lnw.pgp
Description: OpenPGP digital signature