From: kernel test robot <lkp@intel.com>
To: Yu Kuai <yukuai1@huaweicloud.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH RFC v3 11/15] md/md-linear: convert to use bio_submit_split_bioset()
Date: Tue, 2 Sep 2025 11:00:59 +0800 [thread overview]
Message-ID: <202509021006.fXvkxKHg-lkp@intel.com> (raw)
In-Reply-To: <20250901033220.42982-12-yukuai1@huaweicloud.com>
Hi Yu,
[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:
[auto build test ERROR on axboe-block/for-next]
[also build test ERROR on linus/master v6.17-rc4 next-20250901]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Yu-Kuai/block-cleanup-bio_issue/20250901-114701
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/r/20250901033220.42982-12-yukuai1%40huaweicloud.com
patch subject: [PATCH RFC v3 11/15] md/md-linear: convert to use bio_submit_split_bioset()
config: i386-buildonly-randconfig-004-20250902 (https://download.01.org/0day-ci/archive/20250902/202509021006.fXvkxKHg-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250902/202509021006.fXvkxKHg-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/202509021006.fXvkxKHg-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/md/md-linear.c:260:22: error: too many arguments to function call, expected 3, have 4
259 | bio = bio_submit_split_bioset(bio, end_sector - bio_sector,
| ~~~~~~~~~~~~~~~~~~~~~~~
260 | GFP_NOIO, &mddev->bio_set);
| ^~~~~~~~~~~~~~~
include/linux/blkdev.h:1003:13: note: 'bio_submit_split_bioset' declared here
1003 | struct bio *bio_submit_split_bioset(struct bio *bio, unsigned int split_sectors,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1004 | struct bio_set *bs);
| ~~~~~~~~~~~~~~~~~~
1 error generated.
vim +260 drivers/md/md-linear.c
127186cfb184ea Yu Kuai 2025-01-02 231
127186cfb184ea Yu Kuai 2025-01-02 232 static bool linear_make_request(struct mddev *mddev, struct bio *bio)
127186cfb184ea Yu Kuai 2025-01-02 233 {
127186cfb184ea Yu Kuai 2025-01-02 234 struct dev_info *tmp_dev;
127186cfb184ea Yu Kuai 2025-01-02 235 sector_t start_sector, end_sector, data_offset;
127186cfb184ea Yu Kuai 2025-01-02 236 sector_t bio_sector = bio->bi_iter.bi_sector;
127186cfb184ea Yu Kuai 2025-01-02 237
127186cfb184ea Yu Kuai 2025-01-02 238 if (unlikely(bio->bi_opf & REQ_PREFLUSH)
127186cfb184ea Yu Kuai 2025-01-02 239 && md_flush_request(mddev, bio))
127186cfb184ea Yu Kuai 2025-01-02 240 return true;
127186cfb184ea Yu Kuai 2025-01-02 241
127186cfb184ea Yu Kuai 2025-01-02 242 tmp_dev = which_dev(mddev, bio_sector);
127186cfb184ea Yu Kuai 2025-01-02 243 start_sector = tmp_dev->end_sector - tmp_dev->rdev->sectors;
127186cfb184ea Yu Kuai 2025-01-02 244 end_sector = tmp_dev->end_sector;
127186cfb184ea Yu Kuai 2025-01-02 245 data_offset = tmp_dev->rdev->data_offset;
127186cfb184ea Yu Kuai 2025-01-02 246
127186cfb184ea Yu Kuai 2025-01-02 247 if (unlikely(bio_sector >= end_sector ||
127186cfb184ea Yu Kuai 2025-01-02 248 bio_sector < start_sector))
127186cfb184ea Yu Kuai 2025-01-02 249 goto out_of_bounds;
127186cfb184ea Yu Kuai 2025-01-02 250
127186cfb184ea Yu Kuai 2025-01-02 251 if (unlikely(is_rdev_broken(tmp_dev->rdev))) {
127186cfb184ea Yu Kuai 2025-01-02 252 md_error(mddev, tmp_dev->rdev);
127186cfb184ea Yu Kuai 2025-01-02 253 bio_io_error(bio);
127186cfb184ea Yu Kuai 2025-01-02 254 return true;
127186cfb184ea Yu Kuai 2025-01-02 255 }
127186cfb184ea Yu Kuai 2025-01-02 256
127186cfb184ea Yu Kuai 2025-01-02 257 if (unlikely(bio_end_sector(bio) > end_sector)) {
127186cfb184ea Yu Kuai 2025-01-02 258 /* This bio crosses a device boundary, so we have to split it */
bb50131f159ad3 Yu Kuai 2025-09-01 259 bio = bio_submit_split_bioset(bio, end_sector - bio_sector,
127186cfb184ea Yu Kuai 2025-01-02 @260 GFP_NOIO, &mddev->bio_set);
bb50131f159ad3 Yu Kuai 2025-09-01 261 if (!bio) {
127186cfb184ea Yu Kuai 2025-01-02 262 return true;
127186cfb184ea Yu Kuai 2025-01-02 263 }
127186cfb184ea Yu Kuai 2025-01-02 264 }
127186cfb184ea Yu Kuai 2025-01-02 265
127186cfb184ea Yu Kuai 2025-01-02 266 md_account_bio(mddev, &bio);
127186cfb184ea Yu Kuai 2025-01-02 267 bio_set_dev(bio, tmp_dev->rdev->bdev);
127186cfb184ea Yu Kuai 2025-01-02 268 bio->bi_iter.bi_sector = bio->bi_iter.bi_sector -
127186cfb184ea Yu Kuai 2025-01-02 269 start_sector + data_offset;
127186cfb184ea Yu Kuai 2025-01-02 270
127186cfb184ea Yu Kuai 2025-01-02 271 if (unlikely((bio_op(bio) == REQ_OP_DISCARD) &&
127186cfb184ea Yu Kuai 2025-01-02 272 !bdev_max_discard_sectors(bio->bi_bdev))) {
127186cfb184ea Yu Kuai 2025-01-02 273 /* Just ignore it */
127186cfb184ea Yu Kuai 2025-01-02 274 bio_endio(bio);
127186cfb184ea Yu Kuai 2025-01-02 275 } else {
127186cfb184ea Yu Kuai 2025-01-02 276 if (mddev->gendisk)
127186cfb184ea Yu Kuai 2025-01-02 277 trace_block_bio_remap(bio, disk_devt(mddev->gendisk),
127186cfb184ea Yu Kuai 2025-01-02 278 bio_sector);
127186cfb184ea Yu Kuai 2025-01-02 279 mddev_check_write_zeroes(mddev, bio);
127186cfb184ea Yu Kuai 2025-01-02 280 submit_bio_noacct(bio);
127186cfb184ea Yu Kuai 2025-01-02 281 }
127186cfb184ea Yu Kuai 2025-01-02 282 return true;
127186cfb184ea Yu Kuai 2025-01-02 283
127186cfb184ea Yu Kuai 2025-01-02 284 out_of_bounds:
127186cfb184ea Yu Kuai 2025-01-02 285 pr_err("md/linear:%s: make_request: Sector %llu out of bounds on dev %pg: %llu sectors, offset %llu\n",
127186cfb184ea Yu Kuai 2025-01-02 286 mdname(mddev),
127186cfb184ea Yu Kuai 2025-01-02 287 (unsigned long long)bio->bi_iter.bi_sector,
127186cfb184ea Yu Kuai 2025-01-02 288 tmp_dev->rdev->bdev,
127186cfb184ea Yu Kuai 2025-01-02 289 (unsigned long long)tmp_dev->rdev->sectors,
127186cfb184ea Yu Kuai 2025-01-02 290 (unsigned long long)start_sector);
127186cfb184ea Yu Kuai 2025-01-02 291 bio_io_error(bio);
127186cfb184ea Yu Kuai 2025-01-02 292 return true;
127186cfb184ea Yu Kuai 2025-01-02 293 }
127186cfb184ea Yu Kuai 2025-01-02 294
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-09-02 3:02 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-01 3:32 [PATCH RFC v3 00/15] block: fix disordered IO in the case recursive split Yu Kuai
2025-09-01 3:32 ` [PATCH RFC v3 01/15] block: cleanup bio_issue Yu Kuai
2025-09-01 3:43 ` Damien Le Moal
2025-09-01 6:22 ` Yu Kuai
2025-09-03 13:23 ` Christoph Hellwig
2025-09-01 3:32 ` [PATCH RFC v3 02/15] block: add QUEUE_FLAG_BIO_ISSUE Yu Kuai
2025-09-02 17:05 ` Bart Van Assche
2025-09-03 0:54 ` Yu Kuai
2025-09-03 13:24 ` Christoph Hellwig
2025-09-03 16:54 ` Yu Kuai
2025-09-04 2:44 ` Yu Kuai
2025-09-04 5:09 ` Christoph Hellwig
2025-09-01 3:32 ` [PATCH RFC v3 03/15] md: fix mssing blktrace bio split events Yu Kuai
2025-09-01 6:30 ` Damien Le Moal
2025-09-01 7:53 ` Yu Kuai
2025-09-03 13:25 ` Christoph Hellwig
2025-09-04 0:58 ` Yu Kuai
2025-09-01 3:32 ` [PATCH RFC v3 04/15] blk-crypto: fix missing processing for split bio Yu Kuai
2025-09-01 6:31 ` Damien Le Moal
2025-09-03 13:26 ` Christoph Hellwig
2025-09-01 3:32 ` [PATCH RFC v3 05/15] block: factor out a helper bio_submit_split_bioset() Yu Kuai
2025-09-01 6:34 ` Damien Le Moal
2025-09-02 17:12 ` Bart Van Assche
2025-09-03 13:28 ` Christoph Hellwig
2025-09-03 13:28 ` Christoph Hellwig
2025-09-01 3:32 ` [PATCH RFC v3 06/15] md/raid0: convert raid0_handle_discard() to use bio_submit_split_bioset() Yu Kuai
2025-09-01 6:37 ` Damien Le Moal
2025-09-01 7:57 ` Yu Kuai
2025-09-03 13:29 ` Christoph Hellwig
2025-09-01 3:32 ` [PATCH RFC v3 07/15] md/raid1: convert " Yu Kuai
2025-09-01 6:43 ` Damien Le Moal
2025-09-01 8:03 ` Yu Kuai
2025-09-03 13:30 ` Christoph Hellwig
2025-09-01 3:32 ` [PATCH RFC v3 08/15] md/raid10: add a new r10bio flag R10BIO_Returned Yu Kuai
2025-09-01 3:32 ` [PATCH RFC v3 09/15] md/raid10: convert read/write to use bio_submit_split_bioset() Yu Kuai
2025-09-01 3:32 ` [PATCH RFC v3 10/15] md/raid5: convert " Yu Kuai
2025-09-01 3:32 ` [PATCH RFC v3 11/15] md/md-linear: " Yu Kuai
2025-09-02 3:00 ` kernel test robot [this message]
2025-09-03 17:43 ` Bart Van Assche
2025-09-04 0:50 ` Yu Kuai
2025-09-01 3:32 ` [PATCH RFC v3 12/15] blk-crypto: " Yu Kuai
2025-09-03 13:31 ` Christoph Hellwig
2025-09-01 3:32 ` [PATCH RFC v3 13/15] block: skip unnecessary checks for split bio Yu Kuai
2025-09-03 13:33 ` Christoph Hellwig
2025-09-03 17:00 ` Yu Kuai
2025-09-01 3:32 ` [PATCH RFC v3 14/15] block: fix disordered IO in the case recursive split Yu Kuai
2025-09-02 17:20 ` Bart Van Assche
2025-09-03 1:00 ` Yu Kuai
2025-09-03 1:12 ` Bart Van Assche
2025-09-03 1:41 ` Yu Kuai
2025-09-03 13:34 ` Christoph Hellwig
2025-09-03 16:59 ` Yu Kuai
2025-09-03 17:52 ` Bart Van Assche
2025-09-01 3:32 ` [PATCH RFC v3 15/15] md/raid0: convert raid0_make_request() to use bio_submit_split_bioset() Yu Kuai
2025-09-01 14:09 ` [PATCH RFC v3 00/15] block: fix disordered IO in the case recursive split Bart Van Assche
2025-09-02 1:50 ` Yu Kuai
2025-09-02 8:04 ` Yu Kuai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202509021006.fXvkxKHg-lkp@intel.com \
--to=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=yukuai1@huaweicloud.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.