All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.