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


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to