fs/fscache/Kconfig | 10 ++++++++++ fs/fscache/internal.h | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-)
In fs/fscache/internal.h, ASSERT macro is enabled by default and can not
be disabled, then assert failure will crash the kernel as the BUG() is
included in the ASSERT macro. Therefore, add FSCACHE_ASSERT to control it.
Signed-off-by: WoZ1zh1 <wozizhi@huawei.com>
---
fs/fscache/Kconfig | 10 ++++++++++
fs/fscache/internal.h | 2 +-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/fs/fscache/Kconfig b/fs/fscache/Kconfig
index b313a978ae0a..7ff844038bc3 100644
--- a/fs/fscache/Kconfig
+++ b/fs/fscache/Kconfig
@@ -38,3 +38,13 @@ config FSCACHE_DEBUG
enabled by setting bits in /sys/modules/fscache/parameter/debug.
See Documentation/filesystems/caching/fscache.rst for more information.
+
+config FSCACHE_ASSERT
+ bool "FSCACHE asserts"
+ default n
+ depends on FSCACHE
+ help
+ Support the ASSERT mode for failure behavior.
+ Say N here to disable the ASSERT by default.
+ Say Y to add assertion checks in some places. But the assertion
+ failure will result in fatal errors that BUG() the kernel.
diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h
index 1336f517e9b1..951166ed772f 100644
--- a/fs/fscache/internal.h
+++ b/fs/fscache/internal.h
@@ -225,7 +225,7 @@ do { \
/*
* assertions
*/
-#if 1 /* defined(__KDEBUGALL) */
+#ifdef CONFIG_FSCACHE_ASSERT
#define ASSERT(X) \
do { \
--
2.39.2
friendly ping
在 2023/11/2 0:34, WoZ1zh1 写道:
> In fs/fscache/internal.h, ASSERT macro is enabled by default and can not
> be disabled, then assert failure will crash the kernel as the BUG() is
> included in the ASSERT macro. Therefore, add FSCACHE_ASSERT to control it.
>
> Signed-off-by: WoZ1zh1 <wozizhi@huawei.com>
> ---
> fs/fscache/Kconfig | 10 ++++++++++
> fs/fscache/internal.h | 2 +-
> 2 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/fs/fscache/Kconfig b/fs/fscache/Kconfig
> index b313a978ae0a..7ff844038bc3 100644
> --- a/fs/fscache/Kconfig
> +++ b/fs/fscache/Kconfig
> @@ -38,3 +38,13 @@ config FSCACHE_DEBUG
> enabled by setting bits in /sys/modules/fscache/parameter/debug.
>
> See Documentation/filesystems/caching/fscache.rst for more information.
> +
> +config FSCACHE_ASSERT
> + bool "FSCACHE asserts"
> + default n
> + depends on FSCACHE
> + help
> + Support the ASSERT mode for failure behavior.
> + Say N here to disable the ASSERT by default.
> + Say Y to add assertion checks in some places. But the assertion
> + failure will result in fatal errors that BUG() the kernel.
> diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h
> index 1336f517e9b1..951166ed772f 100644
> --- a/fs/fscache/internal.h
> +++ b/fs/fscache/internal.h
> @@ -225,7 +225,7 @@ do { \
> /*
> * assertions
> */
> -#if 1 /* defined(__KDEBUGALL) */
> +#ifdef CONFIG_FSCACHE_ASSERT
>
> #define ASSERT(X) \
> do { \
On 2023/11/7 18:16, Zizhi Wo wrote:
> friendly ping
>
> 在 2023/11/2 0:34, WoZ1zh1 写道:
>> In fs/fscache/internal.h, ASSERT macro is enabled by default and can not
>> be disabled, then assert failure will crash the kernel as the BUG() is
>> included in the ASSERT macro. Therefore, add FSCACHE_ASSERT to control it.
Personally it looks good to me, yet we could also turn
them into WARN_ON_ONCE case by case? Anyway, it depends
on how David thinks...
Thanks,
Gao Xiang
>>
>> Signed-off-by: WoZ1zh1 <wozizhi@huawei.com>
>> ---
>> fs/fscache/Kconfig | 10 ++++++++++
>> fs/fscache/internal.h | 2 +-
>> 2 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/fs/fscache/Kconfig b/fs/fscache/Kconfig
>> index b313a978ae0a..7ff844038bc3 100644
>> --- a/fs/fscache/Kconfig
>> +++ b/fs/fscache/Kconfig
>> @@ -38,3 +38,13 @@ config FSCACHE_DEBUG
>> enabled by setting bits in /sys/modules/fscache/parameter/debug.
>> See Documentation/filesystems/caching/fscache.rst for more information.
>> +
>> +config FSCACHE_ASSERT
>> + bool "FSCACHE asserts"
>> + default n
>> + depends on FSCACHE
>> + help
>> + Support the ASSERT mode for failure behavior.
>> + Say N here to disable the ASSERT by default.
>> + Say Y to add assertion checks in some places. But the assertion
>> + failure will result in fatal errors that BUG() the kernel.
>> diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h
>> index 1336f517e9b1..951166ed772f 100644
>> --- a/fs/fscache/internal.h
>> +++ b/fs/fscache/internal.h
>> @@ -225,7 +225,7 @@ do { \
>> /*
>> * assertions
>> */
>> -#if 1 /* defined(__KDEBUGALL) */
>> +#ifdef CONFIG_FSCACHE_ASSERT
>> #define ASSERT(X) \
>> do { \
在 2023/11/7 20:39, Gao Xiang 写道:
>
>
> On 2023/11/7 18:16, Zizhi Wo wrote:
>> friendly ping
>>
>> 在 2023/11/2 0:34, WoZ1zh1 写道:
>>> In fs/fscache/internal.h, ASSERT macro is enabled by default and can not
>>> be disabled, then assert failure will crash the kernel as the BUG() is
>>> included in the ASSERT macro. Therefore, add FSCACHE_ASSERT to
>>> control it.
>
> Personally it looks good to me, yet we could also turn
> them into WARN_ON_ONCE case by case? Anyway, it depends
> on how David thinks...
>
Thank you for your recognition!
Thanks,
Zizhi Wo
> Thanks,
> Gao Xiang
>
>>>
>>> Signed-off-by: WoZ1zh1 <wozizhi@huawei.com>
>>> ---
>>> fs/fscache/Kconfig | 10 ++++++++++
>>> fs/fscache/internal.h | 2 +-
>>> 2 files changed, 11 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/fs/fscache/Kconfig b/fs/fscache/Kconfig
>>> index b313a978ae0a..7ff844038bc3 100644
>>> --- a/fs/fscache/Kconfig
>>> +++ b/fs/fscache/Kconfig
>>> @@ -38,3 +38,13 @@ config FSCACHE_DEBUG
>>> enabled by setting bits in /sys/modules/fscache/parameter/debug.
>>> See Documentation/filesystems/caching/fscache.rst for more
>>> information.
>>> +
>>> +config FSCACHE_ASSERT
>>> + bool "FSCACHE asserts"
>>> + default n
>>> + depends on FSCACHE
>>> + help
>>> + Support the ASSERT mode for failure behavior.
>>> + Say N here to disable the ASSERT by default.
>>> + Say Y to add assertion checks in some places. But the assertion
>>> + failure will result in fatal errors that BUG() the kernel.
>>> diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h
>>> index 1336f517e9b1..951166ed772f 100644
>>> --- a/fs/fscache/internal.h
>>> +++ b/fs/fscache/internal.h
>>> @@ -225,7 +225,7 @@ do { \
>>> /*
>>> * assertions
>>> */
>>> -#if 1 /* defined(__KDEBUGALL) */
>>> +#ifdef CONFIG_FSCACHE_ASSERT
>>> #define ASSERT(X) \
>>> do { \
>
friendly ping
在 2023/11/8 10:25, Zizhi Wo 写道:
>
>
> 在 2023/11/7 20:39, Gao Xiang 写道:
>>
>>
>> On 2023/11/7 18:16, Zizhi Wo wrote:
>>> friendly ping
>>>
>>> 在 2023/11/2 0:34, WoZ1zh1 写道:
>>>> In fs/fscache/internal.h, ASSERT macro is enabled by default and can
>>>> not
>>>> be disabled, then assert failure will crash the kernel as the BUG() is
>>>> included in the ASSERT macro. Therefore, add FSCACHE_ASSERT to
>>>> control it.
>>
>> Personally it looks good to me, yet we could also turn
>> them into WARN_ON_ONCE case by case? Anyway, it depends
>> on how David thinks...
>>
> Thank you for your recognition!
>
> Thanks,
> Zizhi Wo
>
>> Thanks,
>> Gao Xiang
>>
>>>>
>>>> Signed-off-by: WoZ1zh1 <wozizhi@huawei.com>
>>>> ---
>>>> fs/fscache/Kconfig | 10 ++++++++++
>>>> fs/fscache/internal.h | 2 +-
>>>> 2 files changed, 11 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/fs/fscache/Kconfig b/fs/fscache/Kconfig
>>>> index b313a978ae0a..7ff844038bc3 100644
>>>> --- a/fs/fscache/Kconfig
>>>> +++ b/fs/fscache/Kconfig
>>>> @@ -38,3 +38,13 @@ config FSCACHE_DEBUG
>>>> enabled by setting bits in
>>>> /sys/modules/fscache/parameter/debug.
>>>> See Documentation/filesystems/caching/fscache.rst for more
>>>> information.
>>>> +
>>>> +config FSCACHE_ASSERT
>>>> + bool "FSCACHE asserts"
>>>> + default n
>>>> + depends on FSCACHE
>>>> + help
>>>> + Support the ASSERT mode for failure behavior.
>>>> + Say N here to disable the ASSERT by default.
>>>> + Say Y to add assertion checks in some places. But the assertion
>>>> + failure will result in fatal errors that BUG() the kernel.
>>>> diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h
>>>> index 1336f517e9b1..951166ed772f 100644
>>>> --- a/fs/fscache/internal.h
>>>> +++ b/fs/fscache/internal.h
>>>> @@ -225,7 +225,7 @@ do { \
>>>> /*
>>>> * assertions
>>>> */
>>>> -#if 1 /* defined(__KDEBUGALL) */
>>>> +#ifdef CONFIG_FSCACHE_ASSERT
>>>> #define ASSERT(X) \
>>>> do { \
>>
friendly ping
在 2023/11/30 10:50, Zizhi Wo 写道:
> friendly ping
>
> 在 2023/11/8 10:25, Zizhi Wo 写道:
>>
>>
>> 在 2023/11/7 20:39, Gao Xiang 写道:
>>>
>>>
>>> On 2023/11/7 18:16, Zizhi Wo wrote:
>>>> friendly ping
>>>>
>>>> 在 2023/11/2 0:34, WoZ1zh1 写道:
>>>>> In fs/fscache/internal.h, ASSERT macro is enabled by default and
>>>>> can not
>>>>> be disabled, then assert failure will crash the kernel as the BUG() is
>>>>> included in the ASSERT macro. Therefore, add FSCACHE_ASSERT to
>>>>> control it.
>>>
>>> Personally it looks good to me, yet we could also turn
>>> them into WARN_ON_ONCE case by case? Anyway, it depends
>>> on how David thinks...
>>>
>> Thank you for your recognition!
>>
>> Thanks,
>> Zizhi Wo
>>
>>> Thanks,
>>> Gao Xiang
>>>
>>>>>
>>>>> Signed-off-by: WoZ1zh1 <wozizhi@huawei.com>
>>>>> ---
>>>>> fs/fscache/Kconfig | 10 ++++++++++
>>>>> fs/fscache/internal.h | 2 +-
>>>>> 2 files changed, 11 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/fs/fscache/Kconfig b/fs/fscache/Kconfig
>>>>> index b313a978ae0a..7ff844038bc3 100644
>>>>> --- a/fs/fscache/Kconfig
>>>>> +++ b/fs/fscache/Kconfig
>>>>> @@ -38,3 +38,13 @@ config FSCACHE_DEBUG
>>>>> enabled by setting bits in
>>>>> /sys/modules/fscache/parameter/debug.
>>>>> See Documentation/filesystems/caching/fscache.rst for more
>>>>> information.
>>>>> +
>>>>> +config FSCACHE_ASSERT
>>>>> + bool "FSCACHE asserts"
>>>>> + default n
>>>>> + depends on FSCACHE
>>>>> + help
>>>>> + Support the ASSERT mode for failure behavior.
>>>>> + Say N here to disable the ASSERT by default.
>>>>> + Say Y to add assertion checks in some places. But the assertion
>>>>> + failure will result in fatal errors that BUG() the kernel.
>>>>> diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h
>>>>> index 1336f517e9b1..951166ed772f 100644
>>>>> --- a/fs/fscache/internal.h
>>>>> +++ b/fs/fscache/internal.h
>>>>> @@ -225,7 +225,7 @@ do { \
>>>>> /*
>>>>> * assertions
>>>>> */
>>>>> -#if 1 /* defined(__KDEBUGALL) */
>>>>> +#ifdef CONFIG_FSCACHE_ASSERT
>>>>> #define ASSERT(X) \
>>>>> do { \
>>>
© 2016 - 2025 Red Hat, Inc.