diff mbox series

[1/2] JBD2: print io_block if check data block checksum failed when do recovery

Message ID 20230904011021.3884879-2-yebin10@huawei.com
State Superseded
Headers show
Series JBD2: print io_block if check data block checksum failed when do recovery | expand

Commit Message

yebin (H) Sept. 4, 2023, 1:10 a.m. UTC
Now, if check data block checksum failed only print data's block number
then skip write data. However, one data block may in more than one transaction.
In some scenarios, offline analysis is inconvenient. As a result, it is
difficult to locate the areas where data is faulty.
So print 'io_block' if check data block checksum failed.

Signed-off-by: Ye Bin <yebin10@huawei.com>
---
 fs/jbd2/recovery.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Jan Kara Sept. 4, 2023, 8:45 a.m. UTC | #1
On Mon 04-09-23 09:10:20, Ye Bin wrote:
> Now, if check data block checksum failed only print data's block number
> then skip write data. However, one data block may in more than one transaction.
> In some scenarios, offline analysis is inconvenient. As a result, it is
> difficult to locate the areas where data is faulty.
> So print 'io_block' if check data block checksum failed.
> 
> Signed-off-by: Ye Bin <yebin10@huawei.com>
> ---
>  fs/jbd2/recovery.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/jbd2/recovery.c b/fs/jbd2/recovery.c
> index c269a7d29a46..a2e2bdaed9f8 100644
> --- a/fs/jbd2/recovery.c
> +++ b/fs/jbd2/recovery.c
> @@ -661,7 +661,8 @@ static int do_one_pass(journal_t *journal,
>  						printk(KERN_ERR "JBD2: Invalid "
>  						       "checksum recovering "
>  						       "data block %llu in "
> -						       "log\n", blocknr);
> +						       "log %lu\n", blocknr,

I'd make the message "...in journal block %lu\n". Otherwise the patch looks
good so feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza
diff mbox series

Patch

diff --git a/fs/jbd2/recovery.c b/fs/jbd2/recovery.c
index c269a7d29a46..a2e2bdaed9f8 100644
--- a/fs/jbd2/recovery.c
+++ b/fs/jbd2/recovery.c
@@ -661,7 +661,8 @@  static int do_one_pass(journal_t *journal,
 						printk(KERN_ERR "JBD2: Invalid "
 						       "checksum recovering "
 						       "data block %llu in "
-						       "log\n", blocknr);
+						       "log %lu\n", blocknr,
+						       io_block);
 						block_error = 1;
 						goto skip_write;
 					}