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 --]
next prev 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: linkBe 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.