2020-04-01 07:36:00

by Yue Haibing

[permalink] [raw]
Subject: [PATCH -next] ext4: Fix build error while CONFIG_PRINTK is n

fs/ext4/balloc.c: In function ‘ext4_wait_block_bitmap’:
fs/ext4/balloc.c:519:3: error: implicit declaration of function ‘ext4_error_err’; did you mean ‘ext4_error’? [-Werror=implicit-function-declaration]
ext4_error_err(sb, EIO, "Cannot read block bitmap - "
^~~~~~~~~~~~~~

Add missing stub helper and fix ext4_abort.

Reported-by: Hulk Robot <[email protected]>
Fixes: 2ea2fc775321 ("ext4: save all error info in save_error_info() and drop ext4_set_errno()")
Signed-off-by: YueHaibing <[email protected]>
---
fs/ext4/ext4.h | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index eacd2f9cc833..aa8466d28787 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -2848,6 +2848,11 @@ do { \
no_printk(fmt, ##__VA_ARGS__); \
__ext4_error_inode(inode, "", 0, block, 0, " "); \
} while (0)
+#define ext4_error_inode_err(inode, func, line, block, err, fmt, ...) \
+do { \
+ no_printk(fmt, ##__VA_ARGS__); \
+ __ext4_error_inode(inode, "", 0, block, 0, " "); \
+} while (0)
#define ext4_error_file(file, func, line, block, fmt, ...) \
do { \
no_printk(fmt, ##__VA_ARGS__); \
@@ -2858,10 +2863,15 @@ do { \
no_printk(fmt, ##__VA_ARGS__); \
__ext4_error(sb, "", 0, 0, 0, " "); \
} while (0)
-#define ext4_abort(sb, fmt, ...) \
+#define ext4_error_err(sb, err, fmt, ...) \
+do { \
+ no_printk(fmt, ##__VA_ARGS__); \
+ __ext4_error((sb), "", 0, 0, 0, " "); \
+} while (0)
+#define ext4_abort(sb, err, fmt, ...) \
do { \
no_printk(fmt, ##__VA_ARGS__); \
- __ext4_abort(sb, "", 0, " "); \
+ __ext4_abort(sb, "", 0, 0, " "); \
} while (0)
#define ext4_warning(sb, fmt, ...) \
do { \
--
2.17.1



2020-04-01 21:30:07

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH -next] ext4: Fix build error while CONFIG_PRINTK is n

On Wed, Apr 01, 2020 at 03:30:38PM +0800, YueHaibing wrote:
> fs/ext4/balloc.c: In function ‘ext4_wait_block_bitmap’:
> fs/ext4/balloc.c:519:3: error: implicit declaration of function ‘ext4_error_err’; did you mean ‘ext4_error’? [-Werror=implicit-function-declaration]
> ext4_error_err(sb, EIO, "Cannot read block bitmap - "
> ^~~~~~~~~~~~~~
>
> Add missing stub helper and fix ext4_abort.
>
> Reported-by: Hulk Robot <[email protected]>
> Fixes: 2ea2fc775321 ("ext4: save all error info in save_error_info() and drop ext4_set_errno()")
> Signed-off-by: YueHaibing <[email protected]>

Thanks; the patch isn't quite correct, though. This is what I merged
into my tree's version of the "save all error info..." commit.

- Ted

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index eacd2f9cc833..91eb4381cae5 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -2848,6 +2848,11 @@ do { \
no_printk(fmt, ##__VA_ARGS__); \
__ext4_error_inode(inode, "", 0, block, 0, " "); \
} while (0)
+#define ext4_error_inode_err(inode, func, line, block, err, fmt, ...) \
+do { \
+ no_printk(fmt, ##__VA_ARGS__); \
+ __ext4_error_inode(inode, "", 0, block, err, " "); \
+} while (0)
#define ext4_error_file(file, func, line, block, fmt, ...) \
do { \
no_printk(fmt, ##__VA_ARGS__); \
@@ -2858,10 +2863,15 @@ do { \
no_printk(fmt, ##__VA_ARGS__); \
__ext4_error(sb, "", 0, 0, 0, " "); \
} while (0)
-#define ext4_abort(sb, fmt, ...) \
+#define ext4_error_err(sb, err, fmt, ...) \
+do { \
+ no_printk(fmt, ##__VA_ARGS__); \
+ __ext4_error(sb, "", 0, err, 0, " "); \
+} while (0)
+#define ext4_abort(sb, err, fmt, ...) \
do { \
no_printk(fmt, ##__VA_ARGS__); \
- __ext4_abort(sb, "", 0, " "); \
+ __ext4_abort(sb, "", 0, err, " "); \
} while (0)
#define ext4_warning(sb, fmt, ...) \
do { \

2020-04-02 02:29:37

by Yue Haibing

[permalink] [raw]
Subject: Re: [PATCH -next] ext4: Fix build error while CONFIG_PRINTK is n

On 2020/4/2 5:28, Theodore Y. Ts'o wrote:
> On Wed, Apr 01, 2020 at 03:30:38PM +0800, YueHaibing wrote:
>> fs/ext4/balloc.c: In function ‘ext4_wait_block_bitmap’:
>> fs/ext4/balloc.c:519:3: error: implicit declaration of function ‘ext4_error_err’; did you mean ‘ext4_error’? [-Werror=implicit-function-declaration]
>> ext4_error_err(sb, EIO, "Cannot read block bitmap - "
>> ^~~~~~~~~~~~~~
>>
>> Add missing stub helper and fix ext4_abort.
>>
>> Reported-by: Hulk Robot <[email protected]>
>> Fixes: 2ea2fc775321 ("ext4: save all error info in save_error_info() and drop ext4_set_errno()")
>> Signed-off-by: YueHaibing <[email protected]>
>
> Thanks; the patch isn't quite correct, though. This is what I merged
> into my tree's version of the "save all error info..." commit.
>
> - Ted
>

Ok, good to know this and thansk!

> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
> index eacd2f9cc833..91eb4381cae5 100644
> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -2848,6 +2848,11 @@ do { \
> no_printk(fmt, ##__VA_ARGS__); \
> __ext4_error_inode(inode, "", 0, block, 0, " "); \
> } while (0)
> +#define ext4_error_inode_err(inode, func, line, block, err, fmt, ...) \
> +do { \
> + no_printk(fmt, ##__VA_ARGS__); \
> + __ext4_error_inode(inode, "", 0, block, err, " "); \
> +} while (0)
> #define ext4_error_file(file, func, line, block, fmt, ...) \
> do { \
> no_printk(fmt, ##__VA_ARGS__); \
> @@ -2858,10 +2863,15 @@ do { \
> no_printk(fmt, ##__VA_ARGS__); \
> __ext4_error(sb, "", 0, 0, 0, " "); \
> } while (0)
> -#define ext4_abort(sb, fmt, ...) \
> +#define ext4_error_err(sb, err, fmt, ...) \
> +do { \
> + no_printk(fmt, ##__VA_ARGS__); \
> + __ext4_error(sb, "", 0, err, 0, " "); \
> +} while (0)
> +#define ext4_abort(sb, err, fmt, ...) \
> do { \
> no_printk(fmt, ##__VA_ARGS__); \
> - __ext4_abort(sb, "", 0, " "); \
> + __ext4_abort(sb, "", 0, err, " "); \
> } while (0)
> #define ext4_warning(sb, fmt, ...) \
> do { \
>
> .
>