[dhowells-fs:afs-sticky-2 8/14] fs/netfs/rolling_buffer.c:31:25: error: incomplete definition of type 'struct mempool'

kernel test robot <[email protected]> Thu, 30 Jul 2026 15:33:41 +0800
Newsgroups dev.linux.lists.llvm,dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git afs-sticky-2
head:   1c608665edb5162ebe8c59325c02049995458c42
commit: fc6965676202afb4e7a7c4975418b73918d4c5c3 [8/14] netfs: Fix folio_queue ENOMEM in writeback by adding a mempool
config: s390-randconfig-001-20260730 (https://download.01.org/0day-ci/archive/20260730/[email protected]/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260730/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> fs/netfs/rolling_buffer.c:31:25: error: incomplete definition of type 'struct mempool'
      31 |                 fq = netfs_folioq_pool.alloc(gfp, netfs_folioq_pool.pool_data);
         |                      ~~~~~~~~~~~~~~~~~^
   include/linux/netfs.h:24:16: note: forward declaration of 'struct mempool'
      24 | typedef struct mempool mempool_t;
         |                ^
   fs/netfs/rolling_buffer.c:31:54: error: incomplete definition of type 'struct mempool'
      31 |                 fq = netfs_folioq_pool.alloc(gfp, netfs_folioq_pool.pool_data);
         |                                                   ~~~~~~~~~~~~~~~~~^
   include/linux/netfs.h:24:16: note: forward declaration of 'struct mempool'
      24 | typedef struct mempool mempool_t;
         |                ^
   fs/netfs/rolling_buffer.c:33:8: error: call to undeclared function 'mempool_alloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      33 |                 fq = mempool_alloc(&netfs_folioq_pool, gfp);
         |                      ^
   fs/netfs/rolling_buffer.c:33:6: error: incompatible integer to pointer conversion assigning to 'struct folio_queue *' from 'int' [-Wint-conversion]
      33 |                 fq = mempool_alloc(&netfs_folioq_pool, gfp);
         |                    ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/netfs/rolling_buffer.c:56:2: error: call to undeclared function 'mempool_free'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      56 |         mempool_free(folioq, &netfs_folioq_pool);
         |         ^
   5 errors generated.


vim +31 fs/netfs/rolling_buffer.c

    15	
    16	/**
    17	 * netfs_folioq_alloc - Allocate a folio_queue struct
    18	 * @rreq_id: Associated debugging ID for tracing purposes
    19	 * @gfp: Allocation constraints
    20	 * @trace: Trace tag to indicate the purpose of the allocation
    21	 *
    22	 * Allocate, initialise and account the folio_queue struct and log a trace line
    23	 * to mark the allocation.
    24	 */
    25	struct folio_queue *netfs_folioq_alloc(unsigned int rreq_id, gfp_t gfp,
    26					       unsigned int /*enum netfs_folioq_trace*/ trace)
    27	{
    28		struct folio_queue *fq;
    29	
    30		if (gfp == GFP_KERNEL)
  > 31			fq = netfs_folioq_pool.alloc(gfp, netfs_folioq_pool.pool_data);
    32		else
    33			fq = mempool_alloc(&netfs_folioq_pool, gfp);
    34		if (fq) {
    35			netfs_stat(&netfs_n_folioq);
    36			folioq_init(fq, rreq_id);
    37			fq->debug_id = atomic_inc_return(&debug_ids);
    38			trace_netfs_folioq(fq, trace);
    39		}
    40		return fq;
    41	}
    42	EXPORT_SYMBOL(netfs_folioq_alloc);
    43	

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