On Thu, Apr 25, 2019 at 10:22:30PM +0800, Qu Wenruo wrote:
> 
> 
> 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.

As this is only a minor compilation issue, I'll add the includes so we
don't have to wait on the proper fix to land and you can use the
injection.

Reply via email to