Re: linux-next: build failure after merge of the block tree
Jens Axboe <[email protected]> Mon, 3 Aug 2026 19:50:11 -0600
| Newsgroups | org.kernel.vger.linux-next,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 8/3/26 10:52 AM, Mark Brown wrote: > Hi all, > > After merging the block tree, today's linux-next build > (arm64 allnoconfig) failed like this: > > /tmp/next/build/fs/iomap/direct-io.c: In function '__iomap_dio_read_simple': > /tmp/next/build/fs/iomap/direct-io.c:1037:15: error: too few arguments to function 'bio_iov_iter_get_pages' > 1037 | ret = bio_iov_iter_get_pages(bio, iter, alignment - 1); > | ^~~~~~~~~~~~~~~~~~~~~~ > In file included from /tmp/next/build/include/linux/bio-integrity.h:5, > from /tmp/next/build/fs/iomap/direct-io.c:6: > /tmp/next/build/include/linux/bio.h:524:5: note: declared here > 524 | int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter, > | ^~~~~~~~~~~~~~~~~~~~~~ > > caused by a sematic conflict between > > 14b007e178811 (block: validate user space vectors during extraction) > > from the block tree and > > 36f199c8d0ee4 (iomap: add simple dio path for small direct I/O) > > from the vfs-brauner tree. I have applied the fixup patch below and can > carry as needed, you should ensure you flag this to Linus when sending > PRs: > > From 5bf17d9828d05688ad4fd04cc07b64642d4ba295 Mon Sep 17 00:00:00 2001 > From: Mark Brown <[email protected]> > Date: Mon, 3 Aug 2026 15:53:13 +0100 > Subject: [PATCH] fs: Fix up semantic conflict with bio_iov_iter_get_pages > > /tmp/next/build/fs/iomap/direct-io.c: In function '__iomap_dio_read_simple': > /tmp/next/build/fs/iomap/direct-io.c:1037:15: error: too few arguments to function 'bio_iov_iter_get_pages' > 1037 | ret = bio_iov_iter_get_pages(bio, iter, alignment - 1); > | ^~~~~~~~~~~~~~~~~~~~~~ > In file included from /tmp/next/build/include/linux/bio-integrity.h:5, > from /tmp/next/build/fs/iomap/direct-io.c:6: > /tmp/next/build/include/linux/bio.h:524:5: note: declared here > 524 | int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter, > | ^~~~~~~~~~~~~~~~~~~~~~ > > Signed-off-by: Mark Brown <[email protected]> > --- > fs/iomap/direct-io.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c > index 2b3e916dedc77..2aa71be36c996 100644 > --- a/fs/iomap/direct-io.c > +++ b/fs/iomap/direct-io.c > @@ -1034,7 +1034,8 @@ ssize_t __iomap_dio_read_simple(struct kiocb *iocb, struct iov_iter *iter, > bio->bi_iter.bi_sector = iomap_sector(&iomi->iomap, iomi->pos); > bio->bi_ioprio = iocb->ki_ioprio; > > - ret = bio_iov_iter_get_pages(bio, iter, alignment - 1); > + ret = bio_iov_iter_get_pages(bio, iter, bdev_dma_alignment(bio->bi_bdev), > + alignment - 1); > if (unlikely(ret)) > goto out_bio_put; Looks good to me, thanks Mark. -- Jens Axboe