[dhowells-fs:netfs-fixes 4/4] fs/netfs/rolling_buffer.c:31:39: error: invalid use of incomplete typedef 'mempool_t' {aka 'struct mempool'}

kernel test robot <[email protected]> Tue, 28 Jul 2026 14:45:31 +0800
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git netfs-fixes
head:   6836db8d3babf7ae82597d516f89848e5652b957
commit: 6836db8d3babf7ae82597d516f89848e5652b957 [4/4] netfs: Fix folio_queue ENOMEM in writeback by adding a mempool
config: parisc-defconfig (https://download.01.org/0day-ci/archive/20260728/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260728/[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: In function 'netfs_folioq_alloc':
>> fs/netfs/rolling_buffer.c:31:39: error: invalid use of incomplete typedef 'mempool_t' {aka 'struct mempool'}
      31 |                 fq = netfs_folioq_pool.alloc(gfp, netfs_folioq_pool.pool_data);
         |                                       ^
   fs/netfs/rolling_buffer.c:31:68: error: invalid use of incomplete typedef 'mempool_t' {aka 'struct mempool'}
      31 |                 fq = netfs_folioq_pool.alloc(gfp, netfs_folioq_pool.pool_data);
         |                                                                    ^
   fs/netfs/rolling_buffer.c:33:22: error: implicit declaration of function 'mempool_alloc'; did you mean 'mm_alloc'? [-Wimplicit-function-declaration]
      33 |                 fq = mempool_alloc(&netfs_folioq_pool, gfp);
         |                      ^~~~~~~~~~~~~
         |                      mm_alloc
   fs/netfs/rolling_buffer.c:33:20: error: assignment to 'struct folio_queue *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
      33 |                 fq = mempool_alloc(&netfs_folioq_pool, gfp);
         |                    ^
   fs/netfs/rolling_buffer.c: In function 'netfs_folioq_free':
   fs/netfs/rolling_buffer.c:56:9: error: implicit declaration of function 'mempool_free' [-Wimplicit-function-declaration]
      56 |         mempool_free(folioq, &netfs_folioq_pool);
         |         ^~~~~~~~~~~~


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