Re: linux-next: build failure after merge of the ext3 tree

From: Jan Kara
Date: Fri Nov 13 2020 - 05:33:40 EST


On Fri 13-11-20 10:47:36, Stephen Rothwell wrote:
> Hi all,
>
> After merging the ext3 tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> In file included from fs/ext2/file.c:28:
> fs/ext2/ext2.h: In function 'ext2_get_page':
> fs/ext2/ext2.h:764:28: error: implicit declaration of function 'ext2_check_page'; did you mean 'ext2_get_page'? [-Werror=implicit-function-declaration]
> 764 | if (PageError(page) || !ext2_check_page(page, quiet))
> | ^~~~~~~~~~~~~~~
> | ext2_get_page
> In file included from fs/ext2/balloc.c:15:
> fs/ext2/ext2.h: In function 'ext2_get_page':
> fs/ext2/ext2.h:760:22: error: implicit declaration of function 'read_mapping_page'; did you mean 'unmap_mapping_pages'? [-Werror=implicit-function-declaration]
> 760 | struct page *page = read_mapping_page(mapping, n, NULL);
> | ^~~~~~~~~~~~~~~~~
> | unmap_mapping_pages
> fs/ext2/ext2.h:760:22: warning: initialization of 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
> fs/ext2/ext2.h:764:28: error: implicit declaration of function 'ext2_check_page'; did you mean 'ext2_get_page'? [-Werror=implicit-function-declaration]
> 764 | if (PageError(page) || !ext2_check_page(page, quiet))
> | ^~~~~~~~~~~~~~~
> | ext2_get_page
> In file included from include/linux/buffer_head.h:14,
> from fs/ext2/balloc.c:20:
> include/linux/pagemap.h: At top level:
> include/linux/pagemap.h:497:28: error: conflicting types for 'read_mapping_page'
> 497 | static inline struct page *read_mapping_page(struct address_space *mapping,
> | ^~~~~~~~~~~~~~~~~
> In file included from fs/ext2/balloc.c:15:
> fs/ext2/ext2.h:760:22: note: previous implicit declaration of 'read_mapping_page' was here
> 760 | struct page *page = read_mapping_page(mapping, n, NULL);
> | ^~~~~~~~~~~~~~~~~
> In file included from fs/ext2/dir.c:25:
> fs/ext2/ext2.h: In function 'ext2_get_page':
> fs/ext2/ext2.h:760:22: error: implicit declaration of function 'read_mapping_page'; did you mean 'unmap_mapping_pages'? [-Werror=implicit-function-declaration]
> 760 | struct page *page = read_mapping_page(mapping, n, NULL);
> | ^~~~~~~~~~~~~~~~~
> | unmap_mapping_pages
> fs/ext2/ext2.h:760:22: warning: initialization of 'struct page *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
> fs/ext2/ext2.h:764:28: error: implicit declaration of function 'ext2_check_page'; did you mean 'ext2_get_page'? [-Werror=implicit-function-declaration]
> 764 | if (PageError(page) || !ext2_check_page(page, quiet))
> | ^~~~~~~~~~~~~~~
> | ext2_get_page
> In file included from include/linux/buffer_head.h:14,
> from fs/ext2/dir.c:26:
> include/linux/pagemap.h: At top level:
> include/linux/pagemap.h:497:28: error: conflicting types for 'read_mapping_page'
> 497 | static inline struct page *read_mapping_page(struct address_space *mapping,
> | ^~~~~~~~~~~~~~~~~
> In file included from fs/ext2/dir.c:25:
> fs/ext2/ext2.h:760:22: note: previous implicit declaration of 'read_mapping_page' was here
> 760 | struct page *page = read_mapping_page(mapping, n, NULL);
> | ^~~~~~~~~~~~~~~~~
> fs/ext2/dir.c:109:13: error: conflicting types for 'ext2_check_page'
> 109 | static bool ext2_check_page(struct page *page, int quiet)
> | ^~~~~~~~~~~~~~~
> In file included from fs/ext2/dir.c:25:
> fs/ext2/ext2.h:764:28: note: previous implicit declaration of 'ext2_check_page' was here
> 764 | if (PageError(page) || !ext2_check_page(page, quiet))
> | ^~~~~~~~~~~~~~~
> fs/ext2/dir.c:109:13: warning: 'ext2_check_page' defined but not used [-Wunused-function]
> 109 | static bool ext2_check_page(struct page *page, int quiet)
> | ^~~~~~~~~~~~~~~
>
>
> Caused by commit
>
> 32559cea1f55 ("fs/ext2: Use ext2_put_page")
>
> Presumably some missing includes :-(
>
> I have used the ext3 tree from next-20201112 for today.

Yeah, sorry for that. Should be fixed now.

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR