Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Li kunyu <likunyu10@163.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	0day robot <lkp@intel.com>
Subject: block/blk-merge.c:159:17: error: use of undeclared identifier 'split'
Date: Fri, 01 May 2026 14:00:33 +0200	[thread overview]
Message-ID: <202605011345.UrnDrlLs-lkp@intel.com> (raw)

tree:   https://github.com/intel-lab-lkp/linux/commits/Li-kunyu/block-blk-iolatency-Add-the-processing-flow-of-the-chained-bio-in-the-QoS-and-define-the-related-types-to-solve-the-prob/20260501-153918
head:   90baba948a48e0504a128c4068cbdcfd0bf4f61e
commit: 90baba948a48e0504a128c4068cbdcfd0bf4f61e block/blk-iolatency: Add the processing flow of the chained bio in the QoS and define the related types to solve the problem of incorrect inflight processing in the QoS. The usage of the done_split_bio abstract function in the blk-iolatency project.
date:   4 hours ago
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20260501/202605011345.UrnDrlLs-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/20260501/202605011345.UrnDrlLs-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/202605011345.UrnDrlLs-lkp@intel.com/

All errors (new ones prefixed by >>):

>> block/blk-merge.c:159:17: error: use of undeclared identifier 'split'
     159 |                         bio_set_flag(split, BIO_QOS_CHAIN_CHILD);
         |                                      ^
>> block/blk-merge.c:168:1: error: function definition is not allowed here
     168 | {
         | ^
   block/blk-merge.c:203:1: error: function definition is not allowed here
     203 | {
         | ^
   block/blk-merge.c:216:1: error: function definition is not allowed here
     216 | {
         | ^
   block/blk-merge.c:237:1: error: function definition is not allowed here
     237 | {
         | ^
   block/blk-merge.c:291:1: error: function definition is not allowed here
     291 | {
         | ^
   block/blk-merge.c:316:1: error: function definition is not allowed here
     316 | {
         | ^
   block/blk-merge.c:324:1: error: function definition is not allowed here
     324 | {
         | ^
   block/blk-merge.c:343:1: error: function definition is not allowed here
     343 | {
         | ^
   block/blk-merge.c:429:1: error: function definition is not allowed here
     429 | {
         | ^
   block/blk-merge.c:444:1: error: function definition is not allowed here
     444 | {
         | ^
   block/blk-merge.c:456:1: error: function definition is not allowed here
     456 | {
         | ^
   block/blk-merge.c:486:1: error: function definition is not allowed here
     486 | {
         | ^
   block/blk-merge.c:494:1: error: function definition is not allowed here
     494 | {
         | ^
   block/blk-merge.c:528:1: error: function definition is not allowed here
     528 | {
         | ^
   block/blk-merge.c:550:1: error: function definition is not allowed here
     550 | {
         | ^
   block/blk-merge.c:580:1: error: function definition is not allowed here
     580 | {
         | ^
   block/blk-merge.c:599:1: error: function definition is not allowed here
     599 | {
         | ^
   block/blk-merge.c:618:1: error: function definition is not allowed here
     618 | {
         | ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.


vim +/split +159 block/blk-merge.c

   142	
   143	static struct bio *bio_submit_split(struct bio *bio, int split_sectors)
   144	{
   145		if (unlikely(split_sectors < 0)) {
   146			bio->bi_status = errno_to_blk_status(split_sectors);
   147			bio_endio(bio);
   148			return NULL;
   149		}
   150	
   151		if (split_sectors) {
   152			bio = bio_submit_split_bioset(bio, split_sectors,
   153					&bio->bi_bdev->bd_disk->bio_split);
   154			if (bio) {
   155				bio->bi_opf |= REQ_NOMERGE;
   156				/* Fix the issue where the inflight statistics
   157				 * of the chained bio in the QoS are incorrect.
   158				 */
 > 159				bio_set_flag(split, BIO_QOS_CHAIN_CHILD);
   160		}
   161	
   162		return bio;
   163	}
   164	
   165	static struct bio *__bio_split_discard(struct bio *bio,
   166			const struct queue_limits *lim, unsigned *nsegs,
   167			unsigned int max_sectors)
 > 168	{
   169		unsigned int max_discard_sectors, granularity;
   170		sector_t tmp;
   171		unsigned split_sectors;
   172	
   173		*nsegs = 1;
   174	
   175		granularity = max(lim->discard_granularity >> 9, 1U);
   176	
   177		max_discard_sectors = min(max_sectors, bio_allowed_max_sectors(lim));
   178		max_discard_sectors -= max_discard_sectors % granularity;
   179		if (unlikely(!max_discard_sectors))
   180			return bio;
   181	
   182		if (bio_sectors(bio) <= max_discard_sectors)
   183			return bio;
   184	
   185		split_sectors = max_discard_sectors;
   186	
   187		/*
   188		 * If the next starting sector would be misaligned, stop the discard at
   189		 * the previous aligned sector.
   190		 */
   191		tmp = bio->bi_iter.bi_sector + split_sectors -
   192			((lim->discard_alignment >> 9) % granularity);
   193		tmp = sector_div(tmp, granularity);
   194	
   195		if (split_sectors > tmp)
   196			split_sectors -= tmp;
   197	
   198		return bio_submit_split(bio, split_sectors);
   199	}
   200	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-05-01 12:00 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202605011345.UrnDrlLs-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=likunyu10@163.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox