* [dhowells-fs:fscache-iter 77/85] fs/fscache/io.c:292: warning: expecting prototype for fscache_clear_page_bits(). Prototype was for __fscache_clear_page_bits() instead
@ 2021-03-04 0:15 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-03-04 0:15 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 4786 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git fscache-iter
head: 0b18b2dc89af7a17a626618e55ab2139b9570f7a
commit: 05173e3a1defdfcff7b88cb74c23d2ad12abe486 [77/85] fscache: Add support for writing to the cache
config: s390-randconfig-r005-20210303 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project a7cad6680b4087eff8994f1f99ac40c661a6621f)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?id=05173e3a1defdfcff7b88cb74c23d2ad12abe486
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs fscache-iter
git checkout 05173e3a1defdfcff7b88cb74c23d2ad12abe486
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> fs/fscache/io.c:292: warning: expecting prototype for fscache_clear_page_bits(). Prototype was for __fscache_clear_page_bits() instead
>> fs/fscache/io.c:353: warning: expecting prototype for fscache_write_to_cache(). Prototype was for __fscache_write_to_cache() instead
vim +292 fs/fscache/io.c
280
281 /**
282 * fscache_clear_page_bits - Clear the PG_fscache bits from a set of pages
283 * @mapping: The netfs inode to use as the source
284 * @start: The start position in @mapping
285 * @len: The amount of data to unlock
286 *
287 * Clear the PG_fscache flag from a sequence of pages and wake up anyone who's
288 * waiting.
289 */
290 void __fscache_clear_page_bits(struct address_space *mapping,
291 loff_t start, size_t len)
> 292 {
293 pgoff_t first = start / PAGE_SIZE;
294 pgoff_t last = (start + len - 1) / PAGE_SIZE;
295 struct page *page;
296
297 if (len) {
298 XA_STATE(xas, &mapping->i_pages, first);
299
300 rcu_read_lock();
301 xas_for_each(&xas, page, last) {
302 unlock_page_fscache(page);
303 }
304 rcu_read_unlock();
305 }
306 }
307 EXPORT_SYMBOL(__fscache_clear_page_bits);
308
309 /*
310 * Deal with the completion of writing the data to the cache.
311 */
312 static void fscache_wreq_done(void *priv, ssize_t transferred_or_error,
313 bool was_async)
314 {
315 struct fscache_write_request *wreq = priv;
316
317 fscache_clear_page_bits(wreq->mapping, wreq->start, wreq->len);
318
319 if (wreq->term_func)
320 wreq->term_func(wreq->term_func_priv, transferred_or_error,
321 was_async);
322 fscache_end_operation(&wreq->cache_resources);
323 kfree(wreq);
324 }
325
326 /**
327 * fscache_write_to_cache - Save a write to the cache and clear PG_fscache
328 * @cookie: The cookie representing the cache object
329 * @mapping: The netfs inode to use as the source
330 * @start: The start position in @mapping
331 * @len: The amount of data to write back
332 * @i_size: The new size of the inode
333 * @term_func: The function to call upon completion
334 * @term_func_priv: The private data for @term_func
335 *
336 * Helper function for a netfs to write dirty data from an inode into the cache
337 * object that's backing it.
338 *
339 * @start and @len describe the range of the data. This does not need to be
340 * page-aligned, but to satisfy DIO requirements, the cache may expand it up to
341 * the page boundaries on either end. All the pages covering the range must be
342 * marked with PG_fscache.
343 *
344 * If given, @term_func will be called upon completion and supplied with
345 * @term_func_priv. Note that the PG_fscache flags will have been cleared by
346 * this point, so the netfs must retain its own pin on the mapping.
347 */
348 void __fscache_write_to_cache(struct fscache_cookie *cookie,
349 struct address_space *mapping,
350 loff_t start, size_t len, loff_t i_size,
351 netfs_io_terminated_t term_func,
352 void *term_func_priv)
> 353 {
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 15555 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-03-04 0:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-04 0:15 [dhowells-fs:fscache-iter 77/85] fs/fscache/io.c:292: warning: expecting prototype for fscache_clear_page_bits(). Prototype was for __fscache_clear_page_bits() instead 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.