* [dhowells-fs:netfs-writeback 10/12] fs/netfs/main.c:113:6: error: call to undeclared function 'mempool_init_slab_pool'; ISO C99 and later do not support implicit function declarations
@ 2024-03-15 23:07 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-03-15 23:07 UTC (permalink / raw)
To: David Howells; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git netfs-writeback
head: be938ad004e7a8f28cc6fc8500c120c7687339f7
commit: ada115ace095d0356bbe99f34838822434d0f2df [10/12] netfs: Use mempools for allocating requests and subrequests
config: i386-buildonly-randconfig-001-20240316 (https://download.01.org/0day-ci/archive/20240316/202403160648.2OM4lIMG-lkp@intel.com/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/20240316/202403160648.2OM4lIMG-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/202403160648.2OM4lIMG-lkp@intel.com/
All errors (new ones prefixed by >>):
>> fs/netfs/main.c:113:6: error: call to undeclared function 'mempool_init_slab_pool'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
113 | if (mempool_init_slab_pool(&netfs_request_pool, 100, netfs_request_slab) < 0)
| ^
>> fs/netfs/main.c:146:2: error: call to undeclared function 'mempool_exit'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
146 | mempool_exit(&netfs_subrequest_pool);
| ^
fs/netfs/main.c:162:2: error: call to undeclared function 'mempool_exit'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
162 | mempool_exit(&netfs_subrequest_pool);
| ^
>> fs/netfs/main.c:28:11: error: tentative definition has type 'mempool_t' (aka 'struct mempool_s') that is never completed
28 | mempool_t netfs_request_pool;
| ^
include/linux/netfs.h:23:16: note: forward declaration of 'struct mempool_s'
23 | typedef struct mempool_s mempool_t;
| ^
fs/netfs/main.c:29:11: error: tentative definition has type 'mempool_t' (aka 'struct mempool_s') that is never completed
29 | mempool_t netfs_subrequest_pool;
| ^
include/linux/netfs.h:23:16: note: forward declaration of 'struct mempool_s'
23 | typedef struct mempool_s mempool_t;
| ^
5 errors generated.
--
>> fs/netfs/objects.c:31:10: error: call to undeclared function 'mempool_alloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
31 | rreq = mempool_alloc(ctx->ops->request_pool ?: &netfs_request_pool, GFP_KERNEL);
| ^
>> fs/netfs/objects.c:31:8: error: incompatible integer to pointer conversion assigning to 'struct netfs_io_request *' from 'int' [-Wint-conversion]
31 | rreq = mempool_alloc(ctx->ops->request_pool ?: &netfs_request_pool, GFP_KERNEL);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/netfs/objects.c:59:4: error: call to undeclared function 'mempool_free'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
59 | mempool_free(rreq, rreq->netfs_ops->request_pool ?: &netfs_request_pool);
| ^
fs/netfs/objects.c:95:2: error: call to undeclared function 'mempool_free'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
95 | mempool_free(rreq, rreq->netfs_ops->request_pool ?: &netfs_request_pool);
| ^
fs/netfs/objects.c:155:12: error: call to undeclared function 'mempool_alloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
155 | subreq = mempool_alloc(rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool,
| ^
>> fs/netfs/objects.c:155:10: error: incompatible integer to pointer conversion assigning to 'struct netfs_io_subrequest *' from 'int' [-Wint-conversion]
155 | subreq = mempool_alloc(rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
156 | GFP_KERNEL);
| ~~~~~~~~~~~
fs/netfs/objects.c:190:2: error: call to undeclared function 'mempool_free'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
190 | mempool_free(subreq, rreq->netfs_ops->subrequest_pool ?: &netfs_subrequest_pool);
| ^
7 errors generated.
vim +/mempool_init_slab_pool +113 fs/netfs/main.c
25
26 static struct kmem_cache *netfs_request_slab;
27 static struct kmem_cache *netfs_subrequest_slab;
> 28 mempool_t netfs_request_pool;
29 mempool_t netfs_subrequest_pool;
30
31 #ifdef CONFIG_PROC_FS
32 LIST_HEAD(netfs_io_requests);
33 DEFINE_SPINLOCK(netfs_proc_lock);
34
35 static const char *netfs_origins[nr__netfs_io_origin] = {
36 [NETFS_READAHEAD] = "RA",
37 [NETFS_READPAGE] = "RP",
38 [NETFS_READ_FOR_WRITE] = "RW",
39 [NETFS_COPY_TO_CACHE] = "CC",
40 [NETFS_WRITEBACK] = "WB",
41 [NETFS_WRITETHROUGH] = "WT",
42 [NETFS_UNBUFFERED_WRITE] = "UW",
43 [NETFS_DIO_READ] = "DR",
44 [NETFS_DIO_WRITE] = "DW",
45 };
46
47 /*
48 * Generate a list of I/O requests in /proc/fs/netfs/requests
49 */
50 static int netfs_requests_seq_show(struct seq_file *m, void *v)
51 {
52 struct netfs_io_request *rreq;
53
54 if (v == &netfs_io_requests) {
55 seq_puts(m,
56 "REQUEST OR REF FL ERR OPS COVERAGE\n"
57 "======== == === == ==== === =========\n"
58 );
59 return 0;
60 }
61
62 rreq = list_entry(v, struct netfs_io_request, proc_link);
63 seq_printf(m,
64 "%08x %s %3d %2lx %4d %3d @%04llx %zx/%zx",
65 rreq->debug_id,
66 netfs_origins[rreq->origin],
67 refcount_read(&rreq->ref),
68 rreq->flags,
69 rreq->error,
70 atomic_read(&rreq->nr_outstanding),
71 rreq->start, rreq->submitted, rreq->len);
72 seq_putc(m, '\n');
73 return 0;
74 }
75
76 static void *netfs_requests_seq_start(struct seq_file *m, loff_t *_pos)
77 __acquires(rcu)
78 {
79 rcu_read_lock();
80 return seq_list_start_head(&netfs_io_requests, *_pos);
81 }
82
83 static void *netfs_requests_seq_next(struct seq_file *m, void *v, loff_t *_pos)
84 {
85 return seq_list_next(v, &netfs_io_requests, _pos);
86 }
87
88 static void netfs_requests_seq_stop(struct seq_file *m, void *v)
89 __releases(rcu)
90 {
91 rcu_read_unlock();
92 }
93
94 static const struct seq_operations netfs_requests_seq_ops = {
95 .start = netfs_requests_seq_start,
96 .next = netfs_requests_seq_next,
97 .stop = netfs_requests_seq_stop,
98 .show = netfs_requests_seq_show,
99 };
100 #endif /* CONFIG_PROC_FS */
101
102 static int __init netfs_init(void)
103 {
104 int ret = -ENOMEM;
105
106 netfs_request_slab = kmem_cache_create("netfs_request",
107 sizeof(struct netfs_io_request), 0,
108 SLAB_HWCACHE_ALIGN | SLAB_ACCOUNT,
109 NULL);
110 if (!netfs_request_slab)
111 goto error_req;
112
> 113 if (mempool_init_slab_pool(&netfs_request_pool, 100, netfs_request_slab) < 0)
114 goto error_reqpool;
115
116 netfs_subrequest_slab = kmem_cache_create("netfs_subrequest",
117 sizeof(struct netfs_io_subrequest), 0,
118 SLAB_HWCACHE_ALIGN | SLAB_ACCOUNT,
119 NULL);
120 if (!netfs_subrequest_slab)
121 goto error_subreq;
122
123 if (mempool_init_slab_pool(&netfs_subrequest_pool, 100, netfs_subrequest_slab) < 0)
124 goto error_subreqpool;
125
126 if (!proc_mkdir("fs/netfs", NULL))
127 goto error_proc;
128 if (!proc_create_seq("fs/netfs/requests", S_IFREG | 0444, NULL,
129 &netfs_requests_seq_ops))
130 goto error_procfile;
131 #ifdef CONFIG_FSCACHE_STATS
132 if (!proc_create_single("fs/netfs/stats", S_IFREG | 0444, NULL,
133 netfs_stats_show))
134 goto error_procfile;
135 #endif
136
137 ret = fscache_init();
138 if (ret < 0)
139 goto error_fscache;
140 return 0;
141
142 error_fscache:
143 error_procfile:
144 remove_proc_entry("fs/netfs", NULL);
145 error_proc:
> 146 mempool_exit(&netfs_subrequest_pool);
147 error_subreqpool:
148 kmem_cache_destroy(netfs_subrequest_slab);
149 error_subreq:
150 mempool_exit(&netfs_request_pool);
151 error_reqpool:
152 kmem_cache_destroy(netfs_request_slab);
153 error_req:
154 return ret;
155 }
156 fs_initcall(netfs_init);
157
--
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:[~2024-03-15 23:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-15 23:07 [dhowells-fs:netfs-writeback 10/12] fs/netfs/main.c:113:6: error: call to undeclared function 'mempool_init_slab_pool'; ISO C99 and later do not support implicit function declarations 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