[linux-next:master 6383/7397] mm/page_io.c:283:41: error: implicit declaration of function 'swap_dev_pos'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   b992b79ca8bc336fa8e2c80990b5af80ed8f36fd
commit: d2b0c82185149e17ca3efc51c74c643c21668d63 [6383/7397] mm/swap: get the swap device offset directly
config: x86_64-randconfig-014-20240202 (https://download.01.org/0day-ci/archive/20240621/202406210911.j0JhlO0N-lkp@xxxxxxxxx/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240621/202406210911.j0JhlO0N-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406210911.j0JhlO0N-lkp@xxxxxxxxx/

All error/warnings (new ones prefixed by >>):

   mm/page_io.c:78:5: warning: no previous prototype for 'generic_swapfile_activate' [-Wmissing-prototypes]
      78 | int generic_swapfile_activate(struct swap_info_struct *sis,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~
   mm/page_io.c:179:5: error: redefinition of 'swap_writepage'
     179 | int swap_writepage(struct page *page, struct writeback_control *wbc)
         |     ^~~~~~~~~~~~~~
   In file included from mm/page_io.c:28:
   mm/swap.h:105:19: note: previous definition of 'swap_writepage' with type 'int(struct page *, struct writeback_control *)'
     105 | static inline int swap_writepage(struct page *p, struct writeback_control *wbc)
         |                   ^~~~~~~~~~~~~~
   mm/page_io.c: In function 'swap_writepage':
   mm/page_io.c:209:9: error: implicit declaration of function '__swap_writepage'; did you mean 'swap_writepage'? [-Werror=implicit-function-declaration]
     209 |         __swap_writepage(folio, wbc);
         |         ^~~~~~~~~~~~~~~~
         |         swap_writepage
   mm/page_io.c: At top level:
   mm/page_io.c:252:5: warning: no previous prototype for 'sio_pool_init' [-Wmissing-prototypes]
     252 | int sio_pool_init(void)
         |     ^~~~~~~~~~~~~
   In file included from include/asm-generic/bug.h:22,
                    from arch/x86/include/asm/bug.h:87,
                    from include/linux/bug.h:5,
                    from include/linux/mmdebug.h:5,
                    from include/linux/mm.h:6,
                    from mm/page_io.c:14:
   mm/page_io.c: In function 'sio_write_complete':
>> mm/page_io.c:283:41: error: implicit declaration of function 'swap_dev_pos' [-Werror=implicit-function-declaration]
     283 |                                    ret, swap_dev_pos(page_swap_entry(page)));
         |                                         ^~~~~~~~~~~~
   include/linux/printk.h:436:33: note: in definition of macro 'printk_index_wrap'
     436 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                                 ^~~~~~~~~~~
   include/linux/printk.h:658:17: note: in expansion of macro 'printk'
     658 |                 printk(fmt, ##__VA_ARGS__);                             \
         |                 ^~~~~~
   include/linux/printk.h:672:9: note: in expansion of macro 'printk_ratelimited'
     672 |         printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~~
   mm/page_io.c:282:17: note: in expansion of macro 'pr_err_ratelimited'
     282 |                 pr_err_ratelimited("Write error %ld on dio swapfile (%llu)\n",
         |                 ^~~~~~~~~~~~~~~~~~
>> include/linux/kern_levels.h:5:25: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'int' [-Wformat=]
       5 | #define KERN_SOH        "\001"          /* ASCII Start Of Header */
         |                         ^~~~~~
   include/linux/printk.h:436:25: note: in definition of macro 'printk_index_wrap'
     436 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                         ^~~~
   include/linux/printk.h:658:17: note: in expansion of macro 'printk'
     658 |                 printk(fmt, ##__VA_ARGS__);                             \
         |                 ^~~~~~
   include/linux/printk.h:672:9: note: in expansion of macro 'printk_ratelimited'
     672 |         printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/kern_levels.h:11:25: note: in expansion of macro 'KERN_SOH'
      11 | #define KERN_ERR        KERN_SOH "3"    /* error conditions */
         |                         ^~~~~~~~
   include/linux/printk.h:672:28: note: in expansion of macro 'KERN_ERR'
     672 |         printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
         |                            ^~~~~~~~
   mm/page_io.c:282:17: note: in expansion of macro 'pr_err_ratelimited'
     282 |                 pr_err_ratelimited("Write error %ld on dio swapfile (%llu)\n",
         |                 ^~~~~~~~~~~~~~~~~~
   mm/page_io.c: In function 'swap_writepage_bdev_sync':
   mm/page_io.c:343:33: error: implicit declaration of function 'swap_folio_sector'; did you mean 'zswap_folio_swapin'? [-Werror=implicit-function-declaration]
     343 |         bio.bi_iter.bi_sector = swap_folio_sector(folio);
         |                                 ^~~~~~~~~~~~~~~~~
         |                                 zswap_folio_swapin
   mm/page_io.c: At top level:
   mm/page_io.c:375:6: warning: no previous prototype for '__swap_writepage' [-Wmissing-prototypes]
     375 | void __swap_writepage(struct folio *folio, struct writeback_control *wbc)
         |      ^~~~~~~~~~~~~~~~
   mm/page_io.c:375:6: warning: conflicting types for '__swap_writepage'; have 'void(struct folio *, struct writeback_control *)'
   mm/page_io.c:209:9: note: previous implicit declaration of '__swap_writepage' with type 'void(struct folio *, struct writeback_control *)'
     209 |         __swap_writepage(folio, wbc);
         |         ^~~~~~~~~~~~~~~~
   mm/page_io.c:393:6: error: redefinition of 'swap_write_unplug'
     393 | void swap_write_unplug(struct swap_iocb *sio)
         |      ^~~~~~~~~~~~~~~~~
   mm/swap.h:80:20: note: previous definition of 'swap_write_unplug' with type 'void(struct swap_iocb *)'
      80 | static inline void swap_write_unplug(struct swap_iocb *sio)
         |                    ^~~~~~~~~~~~~~~~~
   mm/page_io.c: In function 'swap_read_folio_fs':
   mm/page_io.c:440:25: error: implicit declaration of function 'swap_read_unplug'; did you mean 'swap_write_unplug'? [-Werror=implicit-function-declaration]
     440 |                         swap_read_unplug(sio);
         |                         ^~~~~~~~~~~~~~~~
         |                         swap_write_unplug
   mm/page_io.c: At top level:
   mm/page_io.c:496:6: error: redefinition of 'swap_read_folio'
     496 | void swap_read_folio(struct folio *folio, bool synchronous,
         |      ^~~~~~~~~~~~~~~
   mm/swap.h:76:20: note: previous definition of 'swap_read_folio' with type 'void(struct folio *, bool,  struct swap_iocb **)' {aka 'void(struct folio *, _Bool,  struct swap_iocb **)'}
      76 | static inline void swap_read_folio(struct folio *folio, bool do_poll,
         |                    ^~~~~~~~~~~~~~~
   mm/page_io.c:537:6: warning: no previous prototype for '__swap_read_unplug' [-Wmissing-prototypes]
     537 | void __swap_read_unplug(struct swap_iocb *sio)
         |      ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/swap_dev_pos +283 mm/page_io.c

   264	
   265	static void sio_write_complete(struct kiocb *iocb, long ret)
   266	{
   267		struct swap_iocb *sio = container_of(iocb, struct swap_iocb, iocb);
   268		struct page *page = sio->bvec[0].bv_page;
   269		int p;
   270	
   271		if (ret != sio->len) {
   272			/*
   273			 * In the case of swap-over-nfs, this can be a
   274			 * temporary failure if the system has limited
   275			 * memory for allocating transmit buffers.
   276			 * Mark the page dirty and avoid
   277			 * folio_rotate_reclaimable but rate-limit the
   278			 * messages but do not flag PageError like
   279			 * the normal direct-to-bio case as it could
   280			 * be temporary.
   281			 */
   282			pr_err_ratelimited("Write error %ld on dio swapfile (%llu)\n",
 > 283					   ret, swap_dev_pos(page_swap_entry(page)));
   284			for (p = 0; p < sio->pages; p++) {
   285				page = sio->bvec[p].bv_page;
   286				set_page_dirty(page);
   287				ClearPageReclaim(page);
   288			}
   289		}
   290	
   291		for (p = 0; p < sio->pages; p++)
   292			end_page_writeback(sio->bvec[p].bv_page);
   293	
   294		mempool_free(sio, sio_pool);
   295	}
   296	

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux