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