All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Matthew Wilcox (Oracle)" <willy@infradead.org>,
	linux-fsdevel@vger.kernel.org
Cc: kbuild-all@lists.01.org,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	linux-mm@kvack.org, linux-block@vger.kernel.org
Subject: Re: [PATCH v15 17/17] iomap: Convert iomap_migrate_page to use folios
Date: Tue, 20 Jul 2021 21:30:49 +0800	[thread overview]
Message-ID: <202107202157.rCXldl6H-lkp@intel.com> (raw)
In-Reply-To: <20210719184001.1750630-18-willy@infradead.org>

[-- Attachment #1: Type: text/plain, Size: 17027 bytes --]

Hi "Matthew,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.14-rc2 next-20210720]
[cannot apply to xfs-linux/for-next block/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Folio-support-in-block-iomap-layers/20210720-152323
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2734d6c1b1a089fb593ef6a23d4b70903526fe0c
config: openrisc-randconfig-p002-20210720 (attached as .config)
compiler: or1k-linux-gcc (GCC) 10.3.0
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
        # https://github.com/0day-ci/linux/commit/c560a69342e882de7f1fd097fa2589e8d330eba0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Folio-support-in-block-iomap-layers/20210720-152323
        git checkout c560a69342e882de7f1fd097fa2589e8d330eba0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=openrisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

         |                                  ^
   include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
      65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
         |                                    ^~~~~~~~
   fs/iomap/buffered-io.c:207:2: note: in expansion of macro 'BUG_ON'
     207 |  BUG_ON(folio->index);
         |  ^~~~~~
   fs/iomap/buffered-io.c:207:14: error: invalid use of undefined type 'struct folio'
     207 |  BUG_ON(folio->index);
         |              ^~
   include/linux/compiler.h:35:19: note: in definition of macro '__branch_check__'
      35 |           expect, is_constant); \
         |                   ^~~~~~~~~~~
   include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
      65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
         |                                    ^~~~~~~~
   fs/iomap/buffered-io.c:207:2: note: in expansion of macro 'BUG_ON'
     207 |  BUG_ON(folio->index);
         |  ^~~~~~
   fs/iomap/buffered-io.c:208:9: error: implicit declaration of function 'folio_multi' [-Werror=implicit-function-declaration]
     208 |  BUG_ON(folio_multi(folio));
         |         ^~~~~~~~~~~
   include/linux/compiler.h:33:34: note: in definition of macro '__branch_check__'
      33 |    ______r = __builtin_expect(!!(x), expect); \
         |                                  ^
   include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
      65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
         |                                    ^~~~~~~~
   fs/iomap/buffered-io.c:208:2: note: in expansion of macro 'BUG_ON'
     208 |  BUG_ON(folio_multi(folio));
         |  ^~~~~~
   fs/iomap/buffered-io.c:211:9: error: implicit declaration of function 'kmap_local_folio'; did you mean 'kmap_local_fork'? [-Werror=implicit-function-declaration]
     211 |  addr = kmap_local_folio(folio, 0);
         |         ^~~~~~~~~~~~~~~~
         |         kmap_local_fork
   fs/iomap/buffered-io.c:211:7: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     211 |  addr = kmap_local_folio(folio, 0);
         |       ^
   fs/iomap/buffered-io.c: In function 'iomap_readpage_actor':
   fs/iomap/buffered-io.c:251:19: error: invalid use of undefined type 'struct folio'
     251 |   zero_user(&folio->page, poff, plen);
         |                   ^~
   fs/iomap/buffered-io.c:263:44: error: invalid use of undefined type 'struct folio'
     263 |   if (__bio_try_merge_page(ctx->bio, &folio->page, plen, poff,
         |                                            ^~
   fs/iomap/buffered-io.c:270:43: error: invalid use of undefined type 'struct folio'
     270 |   gfp_t gfp = mapping_gfp_constraint(folio->mapping, GFP_KERNEL);
         |                                           ^~
   fs/iomap/buffered-io.c: In function 'iomap_readpage':
   fs/iomap/buffered-io.c:309:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     309 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:311:29: error: invalid use of undefined type 'struct folio'
     311 |  struct inode *inode = folio->mapping->host;
         |                             ^~
   fs/iomap/buffered-io.c:319:28: error: implicit declaration of function 'folio_pos' [-Werror=implicit-function-declaration]
     319 |   ret = iomap_apply(inode, folio_pos(folio) + poff, len - poff,
         |                            ^~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_readahead_actor':
   fs/iomap/buffered-io.c:360:21: error: implicit declaration of function 'readahead_folio'; did you mean 'readahead_count'? [-Werror=implicit-function-declaration]
     360 |    ctx->cur_folio = readahead_folio(ctx->rac);
         |                     ^~~~~~~~~~~~~~~
         |                     readahead_count
   fs/iomap/buffered-io.c:360:19: warning: assignment to 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     360 |    ctx->cur_folio = readahead_folio(ctx->rac);
         |                   ^
   fs/iomap/buffered-io.c: In function 'iomap_is_partially_uptodate':
   fs/iomap/buffered-io.c:427:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     427 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_releasepage':
   fs/iomap/buffered-io.c:454:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     454 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:456:31: error: invalid use of undefined type 'struct folio'
     456 |  trace_iomap_releasepage(folio->mapping->host, folio_pos(folio),
         |                               ^~
   fs/iomap/buffered-io.c:464:6: error: implicit declaration of function 'folio_test_dirty' [-Werror=implicit-function-declaration]
     464 |  if (folio_test_dirty(folio) || folio_test_writeback(folio))
         |      ^~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c:464:33: error: implicit declaration of function 'folio_test_writeback' [-Werror=implicit-function-declaration]
     464 |  if (folio_test_dirty(folio) || folio_test_writeback(folio))
         |                                 ^~~~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_invalidatepage':
   fs/iomap/buffered-io.c:474:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     474 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:476:34: error: invalid use of undefined type 'struct folio'
     476 |  trace_iomap_invalidatepage(folio->mapping->host, offset, len);
         |                                  ^~
   fs/iomap/buffered-io.c:484:3: error: implicit declaration of function 'folio_cancel_dirty' [-Werror=implicit-function-declaration]
     484 |   folio_cancel_dirty(folio);
         |   ^~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_migrate_page':
   fs/iomap/buffered-io.c:495:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     495 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:496:27: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     496 |  struct folio *newfolio = page_folio(newpage);
         |                           ^~~~~~~~~~
>> fs/iomap/buffered-io.c:499:8: error: implicit declaration of function 'folio_migrate_mapping' [-Werror=implicit-function-declaration]
     499 |  ret = folio_migrate_mapping(mapping, newfolio, folio, 0);
         |        ^~~~~~~~~~~~~~~~~~~~~
>> fs/iomap/buffered-io.c:507:3: error: implicit declaration of function 'folio_migrate_copy' [-Werror=implicit-function-declaration]
     507 |   folio_migrate_copy(newfolio, folio);
         |   ^~~~~~~~~~~~~~~~~~
>> fs/iomap/buffered-io.c:509:3: error: implicit declaration of function 'folio_migrate_flags'; did you mean 'do_migrate_pages'? [-Werror=implicit-function-declaration]
     509 |   folio_migrate_flags(newfolio, folio);
         |   ^~~~~~~~~~~~~~~~~~~
         |   do_migrate_pages
   fs/iomap/buffered-io.c: In function '__iomap_write_begin':
   fs/iomap/buffered-io.c:559:2: error: implicit declaration of function 'folio_clear_error' [-Werror=implicit-function-declaration]
     559 |  folio_clear_error(folio);
         |  ^~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c:575:29: error: invalid use of undefined type 'struct folio'
     575 |    zero_user_segments(&folio->page, poff, from, to,
         |                             ^~
   fs/iomap/buffered-io.c: In function 'iomap_write_begin':
   fs/iomap/buffered-io.c:596:52: error: 'FGP_STABLE' undeclared (first use in this function)
     596 |  unsigned fgp = FGP_LOCK | FGP_WRITE | FGP_CREAT | FGP_STABLE | FGP_NOFS;
         |                                                    ^~~~~~~~~~
   fs/iomap/buffered-io.c:596:52: note: each undeclared identifier is reported only once for each function it appears in
   fs/iomap/buffered-io.c:612:10: error: implicit declaration of function '__filemap_get_folio' [-Werror=implicit-function-declaration]
     612 |  folio = __filemap_get_folio(inode->i_mapping, pos >> PAGE_SHIFT, fgp,
         |          ^~~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c:612:8: warning: assignment to 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     612 |  folio = __filemap_get_folio(inode->i_mapping, pos >> PAGE_SHIFT, fgp,
         |        ^
   fs/iomap/buffered-io.c:619:9: error: implicit declaration of function 'folio_file_page' [-Werror=implicit-function-declaration]
     619 |  page = folio_file_page(folio, pos >> PAGE_SHIFT);
         |         ^~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c:619:7: warning: assignment to 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     619 |  page = folio_file_page(folio, pos >> PAGE_SHIFT);
         |       ^
   fs/iomap/buffered-io.c:636:2: error: implicit declaration of function 'folio_put'; did you mean 'bio_put'? [-Werror=implicit-function-declaration]
     636 |  folio_put(folio);
         |  ^~~~~~~~~
         |  bio_put
   fs/iomap/buffered-io.c: In function '__iomap_write_end':
   fs/iomap/buffered-io.c:649:2: error: implicit declaration of function 'flush_dcache_folio'; did you mean 'flush_cache_all'? [-Werror=implicit-function-declaration]
     649 |  flush_dcache_folio(folio);
         |  ^~~~~~~~~~~~~~~~~~
         |  flush_cache_all
   fs/iomap/buffered-io.c:665:2: error: implicit declaration of function 'filemap_dirty_folio' [-Werror=implicit-function-declaration]
     665 |  filemap_dirty_folio(inode->i_mapping, folio);
         |  ^~~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_write_end_inline':
   fs/iomap/buffered-io.c:678:7: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     678 |  addr = kmap_local_folio(folio, 0);
         |       ^
   fs/iomap/buffered-io.c: In function 'iomap_write_end':
   fs/iomap/buffered-io.c:691:22: warning: initialization of 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     691 |  struct page *page = folio_file_page(folio, pos >> PAGE_SHIFT);
         |                      ^~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_write_actor':
   fs/iomap/buffered-io.c:765:8: warning: assignment to 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     765 |   page = folio_file_page(folio, pos >> PAGE_SHIFT);
         |        ^
   fs/iomap/buffered-io.c: In function 'iomap_zero':
   fs/iomap/buffered-io.c:891:12: warning: passing argument 1 of 'zero_user' makes pointer from integer without a cast [-Wint-conversion]
     891 |  zero_user(folio_file_page(folio, pos >> PAGE_SHIFT), offset, bytes);
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |            |
         |            int
   In file included from include/linux/bio.h:8,
                    from include/linux/blkdev.h:18,
                    from include/linux/iomap.h:11,
                    from fs/iomap/buffered-io.c:9:
   include/linux/highmem.h:231:43: note: expected 'struct page *' but argument is of type 'int'
     231 | static inline void zero_user(struct page *page,
         |                              ~~~~~~~~~~~~~^~~~
   fs/iomap/buffered-io.c:892:2: error: implicit declaration of function 'folio_mark_accessed' [-Werror=implicit-function-declaration]
     892 |  folio_mark_accessed(folio);
         |  ^~~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_folio_mkwrite_actor':
   fs/iomap/buffered-io.c:970:39: error: invalid use of undefined type 'struct folio'
     970 |   ret = __block_write_begin_int(&folio->page, pos, length, NULL,
         |                                       ^~
   fs/iomap/buffered-io.c:974:28: error: invalid use of undefined type 'struct folio'
     974 |   block_commit_write(&folio->page, 0, length);
         |                            ^~
   fs/iomap/buffered-io.c:977:3: error: implicit declaration of function 'folio_mark_dirty' [-Werror=implicit-function-declaration]
     977 |   folio_mark_dirty(folio);
         |   ^~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_page_mkwrite':
   fs/iomap/buffered-io.c:985:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     985 |  struct folio *folio = page_folio(vmf->page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:991:2: error: implicit declaration of function 'folio_lock'; did you mean 'osq_lock'? [-Werror=implicit-function-declaration]
     991 |  folio_lock(folio);
         |  ^~~~~~~~~~
         |  osq_lock
   fs/iomap/buffered-io.c:992:8: error: implicit declaration of function 'folio_mkwrite_check_truncate'; did you mean 'page_mkwrite_check_truncate'? [-Werror=implicit-function-declaration]
     992 |  ret = folio_mkwrite_check_truncate(folio, inode);
         |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |        page_mkwrite_check_truncate
   fs/iomap/buffered-io.c:1008:2: error: implicit declaration of function 'folio_wait_stable' [-Werror=implicit-function-declaration]
    1008 |  folio_wait_stable(folio);
         |  ^~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_finish_folio_write':
   fs/iomap/buffered-io.c:1030:3: error: implicit declaration of function 'folio_end_writeback'; did you mean 'file_end_write'? [-Werror=implicit-function-declaration]
    1030 |   folio_end_writeback(folio);
         |   ^~~~~~~~~~~~~~~~~~~
         |   file_end_write
   fs/iomap/buffered-io.c: In function 'iomap_add_to_ioend':
   fs/iomap/buffered-io.c:1280:38: error: invalid use of undefined type 'struct folio'
    1280 |  wbc_account_cgroup_owner(wbc, &folio->page, len);


vim +/folio_migrate_mapping +499 fs/iomap/buffered-io.c

   489	
   490	#ifdef CONFIG_MIGRATION
   491	int
   492	iomap_migrate_page(struct address_space *mapping, struct page *newpage,
   493			struct page *page, enum migrate_mode mode)
   494	{
   495		struct folio *folio = page_folio(page);
   496		struct folio *newfolio = page_folio(newpage);
   497		int ret;
   498	
 > 499		ret = folio_migrate_mapping(mapping, newfolio, folio, 0);
   500		if (ret != MIGRATEPAGE_SUCCESS)
   501			return ret;
   502	
   503		if (folio_test_private(folio))
   504			folio_attach_private(newfolio, folio_detach_private(folio));
   505	
   506		if (mode != MIGRATE_SYNC_NO_COPY)
 > 507			folio_migrate_copy(newfolio, folio);
   508		else
 > 509			folio_migrate_flags(newfolio, folio);
   510		return MIGRATEPAGE_SUCCESS;
   511	}
   512	EXPORT_SYMBOL_GPL(iomap_migrate_page);
   513	#endif /* CONFIG_MIGRATION */
   514	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 22003 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v15 17/17] iomap: Convert iomap_migrate_page to use folios
Date: Tue, 20 Jul 2021 21:30:49 +0800	[thread overview]
Message-ID: <202107202157.rCXldl6H-lkp@intel.com> (raw)
In-Reply-To: <20210719184001.1750630-18-willy@infradead.org>

[-- Attachment #1: Type: text/plain, Size: 17300 bytes --]

Hi "Matthew,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.14-rc2 next-20210720]
[cannot apply to xfs-linux/for-next block/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Matthew-Wilcox-Oracle/Folio-support-in-block-iomap-layers/20210720-152323
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2734d6c1b1a089fb593ef6a23d4b70903526fe0c
config: openrisc-randconfig-p002-20210720 (attached as .config)
compiler: or1k-linux-gcc (GCC) 10.3.0
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
        # https://github.com/0day-ci/linux/commit/c560a69342e882de7f1fd097fa2589e8d330eba0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Folio-support-in-block-iomap-layers/20210720-152323
        git checkout c560a69342e882de7f1fd097fa2589e8d330eba0
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=openrisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

         |                                  ^
   include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
      65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
         |                                    ^~~~~~~~
   fs/iomap/buffered-io.c:207:2: note: in expansion of macro 'BUG_ON'
     207 |  BUG_ON(folio->index);
         |  ^~~~~~
   fs/iomap/buffered-io.c:207:14: error: invalid use of undefined type 'struct folio'
     207 |  BUG_ON(folio->index);
         |              ^~
   include/linux/compiler.h:35:19: note: in definition of macro '__branch_check__'
      35 |           expect, is_constant); \
         |                   ^~~~~~~~~~~
   include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
      65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
         |                                    ^~~~~~~~
   fs/iomap/buffered-io.c:207:2: note: in expansion of macro 'BUG_ON'
     207 |  BUG_ON(folio->index);
         |  ^~~~~~
   fs/iomap/buffered-io.c:208:9: error: implicit declaration of function 'folio_multi' [-Werror=implicit-function-declaration]
     208 |  BUG_ON(folio_multi(folio));
         |         ^~~~~~~~~~~
   include/linux/compiler.h:33:34: note: in definition of macro '__branch_check__'
      33 |    ______r = __builtin_expect(!!(x), expect); \
         |                                  ^
   include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
      65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
         |                                    ^~~~~~~~
   fs/iomap/buffered-io.c:208:2: note: in expansion of macro 'BUG_ON'
     208 |  BUG_ON(folio_multi(folio));
         |  ^~~~~~
   fs/iomap/buffered-io.c:211:9: error: implicit declaration of function 'kmap_local_folio'; did you mean 'kmap_local_fork'? [-Werror=implicit-function-declaration]
     211 |  addr = kmap_local_folio(folio, 0);
         |         ^~~~~~~~~~~~~~~~
         |         kmap_local_fork
   fs/iomap/buffered-io.c:211:7: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     211 |  addr = kmap_local_folio(folio, 0);
         |       ^
   fs/iomap/buffered-io.c: In function 'iomap_readpage_actor':
   fs/iomap/buffered-io.c:251:19: error: invalid use of undefined type 'struct folio'
     251 |   zero_user(&folio->page, poff, plen);
         |                   ^~
   fs/iomap/buffered-io.c:263:44: error: invalid use of undefined type 'struct folio'
     263 |   if (__bio_try_merge_page(ctx->bio, &folio->page, plen, poff,
         |                                            ^~
   fs/iomap/buffered-io.c:270:43: error: invalid use of undefined type 'struct folio'
     270 |   gfp_t gfp = mapping_gfp_constraint(folio->mapping, GFP_KERNEL);
         |                                           ^~
   fs/iomap/buffered-io.c: In function 'iomap_readpage':
   fs/iomap/buffered-io.c:309:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     309 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:311:29: error: invalid use of undefined type 'struct folio'
     311 |  struct inode *inode = folio->mapping->host;
         |                             ^~
   fs/iomap/buffered-io.c:319:28: error: implicit declaration of function 'folio_pos' [-Werror=implicit-function-declaration]
     319 |   ret = iomap_apply(inode, folio_pos(folio) + poff, len - poff,
         |                            ^~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_readahead_actor':
   fs/iomap/buffered-io.c:360:21: error: implicit declaration of function 'readahead_folio'; did you mean 'readahead_count'? [-Werror=implicit-function-declaration]
     360 |    ctx->cur_folio = readahead_folio(ctx->rac);
         |                     ^~~~~~~~~~~~~~~
         |                     readahead_count
   fs/iomap/buffered-io.c:360:19: warning: assignment to 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     360 |    ctx->cur_folio = readahead_folio(ctx->rac);
         |                   ^
   fs/iomap/buffered-io.c: In function 'iomap_is_partially_uptodate':
   fs/iomap/buffered-io.c:427:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     427 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_releasepage':
   fs/iomap/buffered-io.c:454:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     454 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:456:31: error: invalid use of undefined type 'struct folio'
     456 |  trace_iomap_releasepage(folio->mapping->host, folio_pos(folio),
         |                               ^~
   fs/iomap/buffered-io.c:464:6: error: implicit declaration of function 'folio_test_dirty' [-Werror=implicit-function-declaration]
     464 |  if (folio_test_dirty(folio) || folio_test_writeback(folio))
         |      ^~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c:464:33: error: implicit declaration of function 'folio_test_writeback' [-Werror=implicit-function-declaration]
     464 |  if (folio_test_dirty(folio) || folio_test_writeback(folio))
         |                                 ^~~~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_invalidatepage':
   fs/iomap/buffered-io.c:474:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     474 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:476:34: error: invalid use of undefined type 'struct folio'
     476 |  trace_iomap_invalidatepage(folio->mapping->host, offset, len);
         |                                  ^~
   fs/iomap/buffered-io.c:484:3: error: implicit declaration of function 'folio_cancel_dirty' [-Werror=implicit-function-declaration]
     484 |   folio_cancel_dirty(folio);
         |   ^~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_migrate_page':
   fs/iomap/buffered-io.c:495:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     495 |  struct folio *folio = page_folio(page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:496:27: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     496 |  struct folio *newfolio = page_folio(newpage);
         |                           ^~~~~~~~~~
>> fs/iomap/buffered-io.c:499:8: error: implicit declaration of function 'folio_migrate_mapping' [-Werror=implicit-function-declaration]
     499 |  ret = folio_migrate_mapping(mapping, newfolio, folio, 0);
         |        ^~~~~~~~~~~~~~~~~~~~~
>> fs/iomap/buffered-io.c:507:3: error: implicit declaration of function 'folio_migrate_copy' [-Werror=implicit-function-declaration]
     507 |   folio_migrate_copy(newfolio, folio);
         |   ^~~~~~~~~~~~~~~~~~
>> fs/iomap/buffered-io.c:509:3: error: implicit declaration of function 'folio_migrate_flags'; did you mean 'do_migrate_pages'? [-Werror=implicit-function-declaration]
     509 |   folio_migrate_flags(newfolio, folio);
         |   ^~~~~~~~~~~~~~~~~~~
         |   do_migrate_pages
   fs/iomap/buffered-io.c: In function '__iomap_write_begin':
   fs/iomap/buffered-io.c:559:2: error: implicit declaration of function 'folio_clear_error' [-Werror=implicit-function-declaration]
     559 |  folio_clear_error(folio);
         |  ^~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c:575:29: error: invalid use of undefined type 'struct folio'
     575 |    zero_user_segments(&folio->page, poff, from, to,
         |                             ^~
   fs/iomap/buffered-io.c: In function 'iomap_write_begin':
   fs/iomap/buffered-io.c:596:52: error: 'FGP_STABLE' undeclared (first use in this function)
     596 |  unsigned fgp = FGP_LOCK | FGP_WRITE | FGP_CREAT | FGP_STABLE | FGP_NOFS;
         |                                                    ^~~~~~~~~~
   fs/iomap/buffered-io.c:596:52: note: each undeclared identifier is reported only once for each function it appears in
   fs/iomap/buffered-io.c:612:10: error: implicit declaration of function '__filemap_get_folio' [-Werror=implicit-function-declaration]
     612 |  folio = __filemap_get_folio(inode->i_mapping, pos >> PAGE_SHIFT, fgp,
         |          ^~~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c:612:8: warning: assignment to 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     612 |  folio = __filemap_get_folio(inode->i_mapping, pos >> PAGE_SHIFT, fgp,
         |        ^
   fs/iomap/buffered-io.c:619:9: error: implicit declaration of function 'folio_file_page' [-Werror=implicit-function-declaration]
     619 |  page = folio_file_page(folio, pos >> PAGE_SHIFT);
         |         ^~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c:619:7: warning: assignment to 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     619 |  page = folio_file_page(folio, pos >> PAGE_SHIFT);
         |       ^
   fs/iomap/buffered-io.c:636:2: error: implicit declaration of function 'folio_put'; did you mean 'bio_put'? [-Werror=implicit-function-declaration]
     636 |  folio_put(folio);
         |  ^~~~~~~~~
         |  bio_put
   fs/iomap/buffered-io.c: In function '__iomap_write_end':
   fs/iomap/buffered-io.c:649:2: error: implicit declaration of function 'flush_dcache_folio'; did you mean 'flush_cache_all'? [-Werror=implicit-function-declaration]
     649 |  flush_dcache_folio(folio);
         |  ^~~~~~~~~~~~~~~~~~
         |  flush_cache_all
   fs/iomap/buffered-io.c:665:2: error: implicit declaration of function 'filemap_dirty_folio' [-Werror=implicit-function-declaration]
     665 |  filemap_dirty_folio(inode->i_mapping, folio);
         |  ^~~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_write_end_inline':
   fs/iomap/buffered-io.c:678:7: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     678 |  addr = kmap_local_folio(folio, 0);
         |       ^
   fs/iomap/buffered-io.c: In function 'iomap_write_end':
   fs/iomap/buffered-io.c:691:22: warning: initialization of 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     691 |  struct page *page = folio_file_page(folio, pos >> PAGE_SHIFT);
         |                      ^~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_write_actor':
   fs/iomap/buffered-io.c:765:8: warning: assignment to 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     765 |   page = folio_file_page(folio, pos >> PAGE_SHIFT);
         |        ^
   fs/iomap/buffered-io.c: In function 'iomap_zero':
   fs/iomap/buffered-io.c:891:12: warning: passing argument 1 of 'zero_user' makes pointer from integer without a cast [-Wint-conversion]
     891 |  zero_user(folio_file_page(folio, pos >> PAGE_SHIFT), offset, bytes);
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |            |
         |            int
   In file included from include/linux/bio.h:8,
                    from include/linux/blkdev.h:18,
                    from include/linux/iomap.h:11,
                    from fs/iomap/buffered-io.c:9:
   include/linux/highmem.h:231:43: note: expected 'struct page *' but argument is of type 'int'
     231 | static inline void zero_user(struct page *page,
         |                              ~~~~~~~~~~~~~^~~~
   fs/iomap/buffered-io.c:892:2: error: implicit declaration of function 'folio_mark_accessed' [-Werror=implicit-function-declaration]
     892 |  folio_mark_accessed(folio);
         |  ^~~~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_folio_mkwrite_actor':
   fs/iomap/buffered-io.c:970:39: error: invalid use of undefined type 'struct folio'
     970 |   ret = __block_write_begin_int(&folio->page, pos, length, NULL,
         |                                       ^~
   fs/iomap/buffered-io.c:974:28: error: invalid use of undefined type 'struct folio'
     974 |   block_commit_write(&folio->page, 0, length);
         |                            ^~
   fs/iomap/buffered-io.c:977:3: error: implicit declaration of function 'folio_mark_dirty' [-Werror=implicit-function-declaration]
     977 |   folio_mark_dirty(folio);
         |   ^~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_page_mkwrite':
   fs/iomap/buffered-io.c:985:24: warning: initialization of 'struct folio *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     985 |  struct folio *folio = page_folio(vmf->page);
         |                        ^~~~~~~~~~
   fs/iomap/buffered-io.c:991:2: error: implicit declaration of function 'folio_lock'; did you mean 'osq_lock'? [-Werror=implicit-function-declaration]
     991 |  folio_lock(folio);
         |  ^~~~~~~~~~
         |  osq_lock
   fs/iomap/buffered-io.c:992:8: error: implicit declaration of function 'folio_mkwrite_check_truncate'; did you mean 'page_mkwrite_check_truncate'? [-Werror=implicit-function-declaration]
     992 |  ret = folio_mkwrite_check_truncate(folio, inode);
         |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |        page_mkwrite_check_truncate
   fs/iomap/buffered-io.c:1008:2: error: implicit declaration of function 'folio_wait_stable' [-Werror=implicit-function-declaration]
    1008 |  folio_wait_stable(folio);
         |  ^~~~~~~~~~~~~~~~~
   fs/iomap/buffered-io.c: In function 'iomap_finish_folio_write':
   fs/iomap/buffered-io.c:1030:3: error: implicit declaration of function 'folio_end_writeback'; did you mean 'file_end_write'? [-Werror=implicit-function-declaration]
    1030 |   folio_end_writeback(folio);
         |   ^~~~~~~~~~~~~~~~~~~
         |   file_end_write
   fs/iomap/buffered-io.c: In function 'iomap_add_to_ioend':
   fs/iomap/buffered-io.c:1280:38: error: invalid use of undefined type 'struct folio'
    1280 |  wbc_account_cgroup_owner(wbc, &folio->page, len);


vim +/folio_migrate_mapping +499 fs/iomap/buffered-io.c

   489	
   490	#ifdef CONFIG_MIGRATION
   491	int
   492	iomap_migrate_page(struct address_space *mapping, struct page *newpage,
   493			struct page *page, enum migrate_mode mode)
   494	{
   495		struct folio *folio = page_folio(page);
   496		struct folio *newfolio = page_folio(newpage);
   497		int ret;
   498	
 > 499		ret = folio_migrate_mapping(mapping, newfolio, folio, 0);
   500		if (ret != MIGRATEPAGE_SUCCESS)
   501			return ret;
   502	
   503		if (folio_test_private(folio))
   504			folio_attach_private(newfolio, folio_detach_private(folio));
   505	
   506		if (mode != MIGRATE_SYNC_NO_COPY)
 > 507			folio_migrate_copy(newfolio, folio);
   508		else
 > 509			folio_migrate_flags(newfolio, folio);
   510		return MIGRATEPAGE_SUCCESS;
   511	}
   512	EXPORT_SYMBOL_GPL(iomap_migrate_page);
   513	#endif /* CONFIG_MIGRATION */
   514	

---
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: 22003 bytes --]

  parent reply	other threads:[~2021-07-20 13:35 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-19 18:39 [PATCH v15 00/17] Folio support in block + iomap layers Matthew Wilcox (Oracle)
2021-07-19 18:39 ` [PATCH v15 01/17] block: Add bio_add_folio() Matthew Wilcox (Oracle)
2021-07-20  1:28   ` Darrick J. Wong
2021-07-20  6:42   ` Christoph Hellwig
2021-07-20 11:16     ` Matthew Wilcox
2021-07-22 16:27     ` Matthew Wilcox
2021-07-30  8:25   ` Ming Lei
2021-07-30 11:30     ` Matthew Wilcox
2021-07-19 18:39 ` [PATCH v15 02/17] block: Add bio_for_each_folio_all() Matthew Wilcox (Oracle)
2021-07-20  1:29   ` Darrick J. Wong
2021-07-20  1:59     ` Matthew Wilcox
2021-07-20  6:48   ` Christoph Hellwig
2021-07-23  2:40     ` Matthew Wilcox
2021-07-20 12:05   ` kernel test robot
2021-07-20 12:05     ` kernel test robot
2021-07-20 12:05   ` kernel test robot
2021-07-20 12:05     ` kernel test robot
2021-07-20 12:26   ` kernel test robot
2021-07-20 12:26     ` kernel test robot
2021-07-19 18:39 ` [PATCH v15 03/17] iomap: Convert to_iomap_page to take a folio Matthew Wilcox (Oracle)
2021-07-20  6:49   ` Christoph Hellwig
2021-07-19 18:39 ` [PATCH v15 04/17] iomap: Convert iomap_page_create " Matthew Wilcox (Oracle)
2021-07-20  6:50   ` Christoph Hellwig
2021-07-19 18:39 ` [PATCH v15 05/17] iomap: Convert iomap_page_release " Matthew Wilcox (Oracle)
2021-07-20  6:52   ` Christoph Hellwig
2021-07-20 11:29     ` Matthew Wilcox
2021-07-20 11:40       ` Christoph Hellwig
2021-07-19 18:39 ` [PATCH v15 06/17] iomap: Convert iomap_releasepage to use " Matthew Wilcox (Oracle)
2021-07-20  6:54   ` Christoph Hellwig
2021-07-20 23:56   ` Darrick J. Wong
2021-07-19 18:39 ` [PATCH v15 07/17] iomap: Convert iomap_invalidatepage " Matthew Wilcox (Oracle)
2021-07-20  6:55   ` Christoph Hellwig
2021-07-20 23:57   ` Darrick J. Wong
2021-07-19 18:39 ` [PATCH v15 08/17] iomap: Pass the iomap_page into iomap_set_range_uptodate Matthew Wilcox (Oracle)
2021-07-20  6:57   ` Christoph Hellwig
2021-07-20 11:36     ` Matthew Wilcox
2021-07-19 18:39 ` [PATCH v15 09/17] iomap: Use folio offsets instead of page offsets Matthew Wilcox (Oracle)
2021-07-20  6:59   ` Christoph Hellwig
2021-07-20 11:42     ` Matthew Wilcox
2021-07-19 18:39 ` [PATCH v15 10/17] iomap: Convert bio completions to use folios Matthew Wilcox (Oracle)
2021-07-20  7:08   ` Christoph Hellwig
2021-07-19 18:39 ` [PATCH v15 11/17] iomap: Convert readahead and readpage to use a folio Matthew Wilcox (Oracle)
2021-07-20  7:09   ` Christoph Hellwig
2021-07-19 18:39 ` [PATCH v15 12/17] iomap: Convert iomap_page_mkwrite " Matthew Wilcox (Oracle)
2021-07-20  7:13   ` Christoph Hellwig
2021-07-19 18:39 ` [PATCH v15 13/17] iomap: Convert iomap_write_begin and iomap_write_end to folios Matthew Wilcox (Oracle)
2021-07-20  7:15   ` Christoph Hellwig
2021-07-20 23:59   ` Darrick J. Wong
2021-07-19 18:39 ` [PATCH v15 14/17] iomap: Convert iomap_read_inline_data to take a folio Matthew Wilcox (Oracle)
2021-07-20  7:16   ` Christoph Hellwig
2021-07-19 18:39 ` [PATCH v15 15/17] iomap: Convert iomap_write_end_inline " Matthew Wilcox (Oracle)
2021-07-20  7:17   ` Christoph Hellwig
2021-07-19 18:40 ` [PATCH v15 16/17] iomap: Convert iomap_add_to_ioend " Matthew Wilcox (Oracle)
2021-07-20  7:20   ` Christoph Hellwig
2021-07-20 11:45     ` Matthew Wilcox
2021-07-21  0:12   ` Darrick J. Wong
2021-07-21  4:27     ` Christoph Hellwig
2021-07-21  4:31       ` Matthew Wilcox
2021-07-21 15:28         ` Darrick J. Wong
2021-07-19 18:40 ` [PATCH v15 17/17] iomap: Convert iomap_migrate_page to use folios Matthew Wilcox (Oracle)
2021-07-20  7:21   ` Christoph Hellwig
2021-07-20 13:30   ` kernel test robot [this message]
2021-07-20 13:30     ` kernel test robot
2021-07-21  0:02   ` Darrick J. Wong
2021-07-20  8:44 ` [PATCH v15 00/17] Folio support in block + iomap layers Christoph Hellwig
2021-07-20 11:08   ` Matthew Wilcox

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202107202157.rCXldl6H-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.