* block/blk-merge.c:159:17: error: use of undeclared identifier 'split'
@ 2026-05-01 12:00 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-01 12:00 UTC (permalink / raw)
To: Li kunyu; +Cc: llvm, oe-kbuild-all, 0day robot
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-05-01 12:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-01 12:00 block/blk-merge.c:159:17: error: use of undeclared identifier 'split' kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox