[PATCH 1/5] jbd2: introduce callback for recovery journal

From: Ye Bin
Date: Wed Feb 01 2023 - 06:23:13 EST


From: Ye Bin <yebin10@xxxxxxxxxx>

EXT4 file system's super block may submited by journal, however it
maybe submited directly when do error handle and also other scene.
So super block isn't uptodate in journal. So there is need to do
some extra handle when recover journal.

Signed-off-by: Ye Bin <yebin10@xxxxxxxxxx>
---
include/linux/jbd2.h | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
index 5962072a4b19..ab0e1a435a50 100644
--- a/include/linux/jbd2.h
+++ b/include/linux/jbd2.h
@@ -1308,6 +1308,17 @@ struct journal_s
struct buffer_head *bh,
enum passtype pass, int off,
tid_t expected_commit_id);
+ /*
+ * EXT4 file system's super block may submited by journal, however it
+ * maybe submited directly when do error handle. So super block isn't
+ * uptodate in journal. So there is need to do some extra handle when
+ * recover journal.
+ */
+ void *j_replay_private_data;
+ int (*j_replay_prepare_callback)(struct journal_s *journal);
+ int (*j_replay_callback)(struct journal_s *journal,
+ struct buffer_head *bh);
+ void (*j_replay_end_callback)(struct journal_s *journal);
};

#define jbd2_might_wait_for_commit(j) \
--
2.31.1