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

From: Ye Bin
Date: Sun Sep 03 2023 - 21:14:36 EST


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@xxxxxxxxxx>
---
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,
+ io_block);
block_error = 1;
goto skip_write;
}
--
2.31.1