* [willy-pagecache:headers 5/7] fs/aio.c:532:27: error: 'noop_dirty_folio' undeclared here (not in a function); did you mean 'filemap_dirty_folio'?
@ 2026-08-12 18:46 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-12 18:46 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: oe-kbuild-all
tree: git://git.infradead.org/users/willy/pagecache headers
head: 5a75fff46226e59e4c4d87c36f7de79ec4cabdb4
commit: ad78a547dcd8964e9c6ec0e89183d6cd228d2ad6 [5/7] mm: Remove pagemap.h from mempolicy.h
config: alpha-allnoconfig (https://download.01.org/0day-ci/archive/20260813/202608130230.t0YLBAdv-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260813/202608130230.t0YLBAdv-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/202608130230.t0YLBAdv-lkp@intel.com/
All errors (new ones prefixed by >>):
>> fs/aio.c:532:27: error: 'noop_dirty_folio' undeclared here (not in a function); did you mean 'filemap_dirty_folio'?
532 | .dirty_folio = noop_dirty_folio,
| ^~~~~~~~~~~~~~~~
| filemap_dirty_folio
fs/aio.c: In function 'aio_setup_ring':
>> fs/aio.c:577:25: error: implicit declaration of function '__filemap_get_folio'; did you mean 'filemap_dirty_folio'? [-Wimplicit-function-declaration]
577 | folio = __filemap_get_folio(file->f_mapping, i,
| ^~~~~~~~~~~~~~~~~~~
| filemap_dirty_folio
>> fs/aio.c:578:45: error: 'FGP_LOCK' undeclared (first use in this function); did you mean 'BPF_F_LOCK'?
578 | FGP_LOCK | FGP_ACCESSED | FGP_CREAT,
| ^~~~~~~~
| BPF_F_LOCK
fs/aio.c:578:45: note: each undeclared identifier is reported only once for each function it appears in
>> fs/aio.c:578:56: error: 'FGP_ACCESSED' undeclared (first use in this function)
578 | FGP_LOCK | FGP_ACCESSED | FGP_CREAT,
| ^~~~~~~~~~~~
>> fs/aio.c:578:71: error: 'FGP_CREAT' undeclared (first use in this function); did you mean 'IPC_CREAT'?
578 | FGP_LOCK | FGP_ACCESSED | FGP_CREAT,
| ^~~~~~~~~
| IPC_CREAT
>> fs/aio.c:585:17: error: implicit declaration of function 'folio_end_read'; did you mean 'folio_test_head'? [-Wimplicit-function-declaration]
585 | folio_end_read(folio, true);
| ^~~~~~~~~~~~~~
| folio_test_head
vim +532 fs/aio.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 530
36bc08cc01709b4 Gu Zheng 2013-07-16 531 static const struct address_space_operations aio_ctx_aops = {
46de8b979492e13 Matthew Wilcox (Oracle 2022-02-09 @532) .dirty_folio = noop_dirty_folio,
3648951ceb0ad20 Matthew Wilcox (Oracle 2022-06-06 533) .migrate_folio = aio_migrate_folio,
36bc08cc01709b4 Gu Zheng 2013-07-16 534 };
36bc08cc01709b4 Gu Zheng 2013-07-16 535
2a8a98673c13cb2 Mauricio Faria de Oliveira 2017-07-05 536 static int aio_setup_ring(struct kioctx *ctx, unsigned int nr_events)
^1da177e4c3f415 Linus Torvalds 2005-04-16 537 {
^1da177e4c3f415 Linus Torvalds 2005-04-16 538 struct aio_ring *ring;
41003a7bcfed125 Zach Brown 2013-05-07 539 struct mm_struct *mm = current->mm;
3dc9acb67600393 Linus Torvalds 2013-12-20 540 unsigned long size, unused;
^1da177e4c3f415 Linus Torvalds 2005-04-16 541 int nr_pages;
36bc08cc01709b4 Gu Zheng 2013-07-16 542 int i;
36bc08cc01709b4 Gu Zheng 2013-07-16 543 struct file *file;
^1da177e4c3f415 Linus Torvalds 2005-04-16 544
^1da177e4c3f415 Linus Torvalds 2005-04-16 545 /* Compensate for the ring buffer's head/tail overlap entry */
^1da177e4c3f415 Linus Torvalds 2005-04-16 546 nr_events += 2; /* 1 is required, 2 for good luck */
^1da177e4c3f415 Linus Torvalds 2005-04-16 547
^1da177e4c3f415 Linus Torvalds 2005-04-16 548 size = sizeof(struct aio_ring);
^1da177e4c3f415 Linus Torvalds 2005-04-16 549 size += sizeof(struct io_event) * nr_events;
^1da177e4c3f415 Linus Torvalds 2005-04-16 550
36bc08cc01709b4 Gu Zheng 2013-07-16 551 nr_pages = PFN_UP(size);
^1da177e4c3f415 Linus Torvalds 2005-04-16 552 if (nr_pages < 0)
^1da177e4c3f415 Linus Torvalds 2005-04-16 553 return -EINVAL;
^1da177e4c3f415 Linus Torvalds 2005-04-16 554
71ad7490c1f32bd Benjamin LaHaise 2013-09-17 555 file = aio_private_file(ctx, nr_pages);
36bc08cc01709b4 Gu Zheng 2013-07-16 556 if (IS_ERR(file)) {
36bc08cc01709b4 Gu Zheng 2013-07-16 557 ctx->aio_ring_file = NULL;
fa8a53c39f3fdde Benjamin LaHaise 2014-03-28 558 return -ENOMEM;
36bc08cc01709b4 Gu Zheng 2013-07-16 559 }
36bc08cc01709b4 Gu Zheng 2013-07-16 560
3dc9acb67600393 Linus Torvalds 2013-12-20 561 ctx->aio_ring_file = file;
3dc9acb67600393 Linus Torvalds 2013-12-20 562 nr_events = (PAGE_SIZE * nr_pages - sizeof(struct aio_ring))
3dc9acb67600393 Linus Torvalds 2013-12-20 563 / sizeof(struct io_event);
3dc9acb67600393 Linus Torvalds 2013-12-20 564
16594e60cd8e6d4 Kefeng Wang 2024-03-21 565 ctx->ring_folios = ctx->internal_folios;
3dc9acb67600393 Linus Torvalds 2013-12-20 566 if (nr_pages > AIO_RING_PAGES) {
32a92f8c8932698 Linus Torvalds 2026-02-21 567 ctx->ring_folios = kzalloc_objs(struct folio *, nr_pages);
16594e60cd8e6d4 Kefeng Wang 2024-03-21 568 if (!ctx->ring_folios) {
3dc9acb67600393 Linus Torvalds 2013-12-20 569 put_aio_ring_file(ctx);
3dc9acb67600393 Linus Torvalds 2013-12-20 570 return -ENOMEM;
3dc9acb67600393 Linus Torvalds 2013-12-20 571 }
3dc9acb67600393 Linus Torvalds 2013-12-20 572 }
3dc9acb67600393 Linus Torvalds 2013-12-20 573
36bc08cc01709b4 Gu Zheng 2013-07-16 574 for (i = 0; i < nr_pages; i++) {
75a07b557a11a71 Kefeng Wang 2024-03-21 575 struct folio *folio;
75a07b557a11a71 Kefeng Wang 2024-03-21 576
75a07b557a11a71 Kefeng Wang 2024-03-21 @577 folio = __filemap_get_folio(file->f_mapping, i,
75a07b557a11a71 Kefeng Wang 2024-03-21 @578 FGP_LOCK | FGP_ACCESSED | FGP_CREAT,
75a07b557a11a71 Kefeng Wang 2024-03-21 579 GFP_USER | __GFP_ZERO);
75a07b557a11a71 Kefeng Wang 2024-03-21 580 if (IS_ERR(folio))
36bc08cc01709b4 Gu Zheng 2013-07-16 581 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 582
75a07b557a11a71 Kefeng Wang 2024-03-21 583 pr_debug("pid(%d) [%d] folio->count=%d\n", current->pid, i,
75a07b557a11a71 Kefeng Wang 2024-03-21 584 folio_ref_count(folio));
75a07b557a11a71 Kefeng Wang 2024-03-21 @585 folio_end_read(folio, true);
75a07b557a11a71 Kefeng Wang 2024-03-21 586
16594e60cd8e6d4 Kefeng Wang 2024-03-21 587 ctx->ring_folios[i] = folio;
^1da177e4c3f415 Linus Torvalds 2005-04-16 588 }
3dc9acb67600393 Linus Torvalds 2013-12-20 589 ctx->nr_pages = i;
3dc9acb67600393 Linus Torvalds 2013-12-20 590
3dc9acb67600393 Linus Torvalds 2013-12-20 591 if (unlikely(i != nr_pages)) {
3dc9acb67600393 Linus Torvalds 2013-12-20 592 aio_free_ring(ctx);
fa8a53c39f3fdde Benjamin LaHaise 2014-03-28 593 return -ENOMEM;
d1b9432712a25ee Gu Zheng 2013-12-04 594 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 595
58c85dc20a2c5ba Kent Overstreet 2013-05-07 596 ctx->mmap_size = nr_pages * PAGE_SIZE;
58c85dc20a2c5ba Kent Overstreet 2013-05-07 597 pr_debug("attempting mmap of %lu bytes\n", ctx->mmap_size);
36bc08cc01709b4 Gu Zheng 2013-07-16 598
d8ed45c5dcd455f Michel Lespinasse 2020-06-08 599 if (mmap_write_lock_killable(mm)) {
013373e8b867350 Michal Hocko 2016-05-23 600 ctx->mmap_size = 0;
013373e8b867350 Michal Hocko 2016-05-23 601 aio_free_ring(ctx);
013373e8b867350 Michal Hocko 2016-05-23 602 return -EINTR;
013373e8b867350 Michal Hocko 2016-05-23 603 }
013373e8b867350 Michal Hocko 2016-05-23 604
45e55300f11495e Peter Collingbourne 2020-08-06 605 ctx->mmap_base = do_mmap(ctx->aio_ring_file, 0, ctx->mmap_size,
e3fc629d7bb7084 Al Viro 2012-05-30 606 PROT_READ | PROT_WRITE,
1944a0183c83265 Lorenzo Stoakes 2026-07-11 607 MAP_SHARED, EMPTY_VMA_FLAGS, 0, &unused, NULL);
d8ed45c5dcd455f Michel Lespinasse 2020-06-08 608 mmap_write_unlock(mm);
3dc9acb67600393 Linus Torvalds 2013-12-20 609 if (IS_ERR((void *)ctx->mmap_base)) {
58c85dc20a2c5ba Kent Overstreet 2013-05-07 610 ctx->mmap_size = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 611 aio_free_ring(ctx);
fa8a53c39f3fdde Benjamin LaHaise 2014-03-28 612 return -ENOMEM;
^1da177e4c3f415 Linus Torvalds 2005-04-16 613 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 614
58c85dc20a2c5ba Kent Overstreet 2013-05-07 615 pr_debug("mmap address: 0x%08lx\n", ctx->mmap_base);
d6c355c7dabcd75 Benjamin LaHaise 2013-09-09 616
58c85dc20a2c5ba Kent Overstreet 2013-05-07 617 ctx->user_id = ctx->mmap_base;
58c85dc20a2c5ba Kent Overstreet 2013-05-07 618 ctx->nr_events = nr_events; /* trusted copy */
^1da177e4c3f415 Linus Torvalds 2005-04-16 619
16594e60cd8e6d4 Kefeng Wang 2024-03-21 620 ring = folio_address(ctx->ring_folios[0]);
^1da177e4c3f415 Linus Torvalds 2005-04-16 621 ring->nr = nr_events; /* user copy */
db446a08c23d547 Benjamin LaHaise 2013-07-30 622 ring->id = ~0U;
^1da177e4c3f415 Linus Torvalds 2005-04-16 623 ring->head = ring->tail = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 624 ring->magic = AIO_RING_MAGIC;
^1da177e4c3f415 Linus Torvalds 2005-04-16 625 ring->compat_features = AIO_RING_COMPAT_FEATURES;
^1da177e4c3f415 Linus Torvalds 2005-04-16 626 ring->incompat_features = AIO_RING_INCOMPAT_FEATURES;
^1da177e4c3f415 Linus Torvalds 2005-04-16 627 ring->header_length = sizeof(struct aio_ring);
16594e60cd8e6d4 Kefeng Wang 2024-03-21 628 flush_dcache_folio(ctx->ring_folios[0]);
^1da177e4c3f415 Linus Torvalds 2005-04-16 629
^1da177e4c3f415 Linus Torvalds 2005-04-16 630 return 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 631 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 632
:::::: The code at line 532 was first introduced by commit
:::::: 46de8b979492e1377947700ecb1e3169088668b2 fs: Convert __set_page_dirty_no_writeback to noop_dirty_folio
:::::: TO: Matthew Wilcox (Oracle) <willy@infradead.org>
:::::: CC: Matthew Wilcox (Oracle) <willy@infradead.org>
--
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-08-12 18:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-12 18:46 [willy-pagecache:headers 5/7] fs/aio.c:532:27: error: 'noop_dirty_folio' undeclared here (not in a function); did you mean 'filemap_dirty_folio'? kernel test robot
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.