On 2019/4/25 下午10:13, David Sterba wrote: > On Thu, Apr 25, 2019 at 08:30:38AM +0800, Qu Wenruo wrote: >> >> >> On 2019/4/25 上午1:45, David Sterba wrote: >>> On Wed, Apr 24, 2019 at 03:22:53PM +0800, Qu Wenruo wrote: >>>> Allowing error injection for btrfs_check_leaf_full() and >>>> btrfs_check_node() is useful to test the failure path of btrfs write >>>> time tree check. >>>> >>>> Signed-off-by: Qu Wenruo <w...@suse.com> >>> >>> Does not compile: >>> >>> CC [M] fs/btrfs/tests/extent-map-tests.o >>> In file included from fs/btrfs/tree-checker.c:18: >>> ./include/linux/error-injection.h:15:15: error: unknown type name ‘bool’ >>> static inline bool within_error_injection_list(unsigned long addr) >>> ^~~~ >>> ./include/linux/error-injection.h: In function >>> ‘within_error_injection_list’: >>> ./include/linux/error-injection.h:17:9: error: ‘false’ undeclared (first >>> use in this function) >>> return false; >>> ^~~~~ >>> ./include/linux/error-injection.h:17:9: note: each undeclared identifier is >>> reported only once for each function it appears in >>> make[1]: *** [scripts/Makefile.build:275: fs/btrfs/tree-checker.o] Error 1 >>> make[1]: *** Waiting for unfinished jobs.... >>> make: *** [Makefile:1737: fs/btrfs/] Error 2 >> >> Compiles without problem here using 8.2.1 gcc. >> >> ... >> CC [M] fs/btrfs/check-integrity.o >> CC [M] fs/btrfs/ref-verify.o >> CC [M] fs/btrfs/tests/free-space-tests.o >> CC [M] fs/btrfs/tests/extent-buffer-tests.o >> CC [M] fs/btrfs/tests/btrfs-tests.o >> CC [M] fs/btrfs/tests/extent-io-tests.o >> CC [M] fs/btrfs/tests/inode-tests.o >> CC [M] fs/btrfs/tests/qgroup-tests.o >> CC [M] fs/btrfs/tests/free-space-tree-tests.o >> CC [M] fs/btrfs/tests/extent-map-tests.o >> LD [M] fs/btrfs/btrfs.o >> Building modules, stage 2. >> MODPOST 1 modules >> CC fs/btrfs/btrfs.mod.o >> LD [M] fs/btrfs/btrfs.ko >> >>> >>> >>> gcc is 8.3.1 >>> >> >> Upgrading to gcc 8.3.0, still passes. >> >> Is that a regression in gcc 8.3.1? > > I don't think it's caused by compiler but config options. And the build > bot sees the compilation failure too, so it's not specific to my setup: > > https://lists.01.org/pipermail/kbuild-all/2019-April/060303.html >
Got it reproduced, not sure why the config could affect this problem. But the fix is always straightforward, include types for bool and stddef for true/false. Thanks, Qu
signature.asc
Description: OpenPGP digital signature