* [brauner-github:vfs-7.3.iomap 3/3] fs/iomap/ioend.c:16:16: sparse: sparse: symbol 'iomap_ioend_split_bioset' was not declared. Should it be static?
@ 2026-07-01 6:37 kernel test robot
2026-07-01 10:34 ` Christoph Hellwig
0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2026-07-01 6:37 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: oe-kbuild-all, Christian Brauner, Christian Brauner
tree: https://github.com/brauner/linux.git vfs-7.3.iomap
head: f2727952b21d187deeeb21cd4e84823b6410e650
commit: f2727952b21d187deeeb21cd4e84823b6410e650 [3/3] iomap: add a separate bio_set for iomap_split_ioend
config: m68k-randconfig-r131-20260701 (https://download.01.org/0day-ci/archive/20260701/202607011411.SFoYmRJa-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 11.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260701/202607011411.SFoYmRJa-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607011411.SFoYmRJa-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> fs/iomap/ioend.c:16:16: sparse: sparse: symbol 'iomap_ioend_split_bioset' was not declared. Should it be static?
vim +/iomap_ioend_split_bioset +16 fs/iomap/ioend.c
13
14 struct bio_set iomap_ioend_bioset;
15 EXPORT_SYMBOL_GPL(iomap_ioend_bioset);
> 16 struct bio_set iomap_ioend_split_bioset;
17
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [brauner-github:vfs-7.3.iomap 3/3] fs/iomap/ioend.c:16:16: sparse: sparse: symbol 'iomap_ioend_split_bioset' was not declared. Should it be static? 2026-07-01 6:37 [brauner-github:vfs-7.3.iomap 3/3] fs/iomap/ioend.c:16:16: sparse: sparse: symbol 'iomap_ioend_split_bioset' was not declared. Should it be static? kernel test robot @ 2026-07-01 10:34 ` Christoph Hellwig 2026-07-01 10:57 ` Christian Brauner 0 siblings, 1 reply; 3+ messages in thread From: Christoph Hellwig @ 2026-07-01 10:34 UTC (permalink / raw) To: kernel test robot Cc: Christoph Hellwig, oe-kbuild-all, Christian Brauner, Christian Brauner Yes, it should be static, sorry. Fixed version below: --- From b52479040dfc5725698ef396960a5a212d5a08ec Mon Sep 17 00:00:00 2001 From: Christoph Hellwig <hch@lst.de> Date: Mon, 29 Jun 2026 14:10:28 +0200 Subject: iomap: add a separate bio_set for iomap_split_ioend iomap_split_ioend can split bios that already come from iomap_ioend_bioset and thus deadlock when the bioset is exhausted. Add a separate bio_set to avoid this deadlock. Fixes: 5fcbd555d483 ("iomap: split bios to zone append limits in the submission handlers") Signed-off-by: Christoph Hellwig <hch@lst.de> --- fs/iomap/ioend.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/fs/iomap/ioend.c b/fs/iomap/ioend.c index f7c3e0c70fd7..82eeeadac6d6 100644 --- a/fs/iomap/ioend.c +++ b/fs/iomap/ioend.c @@ -13,6 +13,7 @@ struct bio_set iomap_ioend_bioset; EXPORT_SYMBOL_GPL(iomap_ioend_bioset); +static struct bio_set iomap_ioend_split_bioset; struct iomap_ioend *iomap_init_ioend(struct inode *inode, struct bio *bio, loff_t file_offset, u16 ioend_flags) @@ -482,7 +483,8 @@ struct iomap_ioend *iomap_split_ioend(struct iomap_ioend *ioend, sector_offset = ALIGN_DOWN(sector_offset << SECTOR_SHIFT, i_blocksize(ioend->io_inode)) >> SECTOR_SHIFT; - split = bio_split(bio, sector_offset, GFP_NOFS, &iomap_ioend_bioset); + split = bio_split(bio, sector_offset, GFP_NOFS, + &iomap_ioend_split_bioset); if (IS_ERR(split)) return ERR_CAST(split); split->bi_private = bio->bi_private; @@ -505,8 +507,23 @@ EXPORT_SYMBOL_GPL(iomap_split_ioend); static int __init iomap_ioend_init(void) { - return bioset_init(&iomap_ioend_bioset, 4 * (PAGE_SIZE / SECTOR_SIZE), + const unsigned int nr_mempool_entries = 4 * (PAGE_SIZE / SECTOR_SIZE); + int error; + + error = bioset_init(&iomap_ioend_bioset, nr_mempool_entries, offsetof(struct iomap_ioend, io_bio), BIOSET_NEED_BVECS); + if (error) + return error; + error = bioset_init(&iomap_ioend_split_bioset, nr_mempool_entries, + offsetof(struct iomap_ioend, io_bio), + BIOSET_NEED_BVECS); + if (error) + goto out_exit_ioend_bioset; + return 0; + +out_exit_ioend_bioset: + bioset_exit(&iomap_ioend_bioset); + return error; } fs_initcall(iomap_ioend_init); -- 2.53.0 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [brauner-github:vfs-7.3.iomap 3/3] fs/iomap/ioend.c:16:16: sparse: sparse: symbol 'iomap_ioend_split_bioset' was not declared. Should it be static? 2026-07-01 10:34 ` Christoph Hellwig @ 2026-07-01 10:57 ` Christian Brauner 0 siblings, 0 replies; 3+ messages in thread From: Christian Brauner @ 2026-07-01 10:57 UTC (permalink / raw) To: Christoph Hellwig; +Cc: kernel test robot, oe-kbuild-all, Christian Brauner On Wed, Jul 01, 2026 at 12:34:45PM +0200, Christoph Hellwig wrote: > Yes, it should be static, sorry. Fixed version below: Np, note though that I already fixed this in-tree! ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-01 10:57 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-07-01 6:37 [brauner-github:vfs-7.3.iomap 3/3] fs/iomap/ioend.c:16:16: sparse: sparse: symbol 'iomap_ioend_split_bioset' was not declared. Should it be static? kernel test robot 2026-07-01 10:34 ` Christoph Hellwig 2026-07-01 10:57 ` Christian Brauner
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.