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 > > 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? Thanks, Qu