From: Zhang Yi <yi.zhang@xxxxxxxxxx> v2->v3: - Fix the potential overflow on journal space check in patch 7. - Rename ext4_get_journal_dev() to ext4_get_journal_blkdev() in patch 11. v1->v2: - Fix the changelog in patch 1 and 2. - Simplify the comments for local functions in patch 6. - Remove the incorrect zero fast_commit blocks check in patch 7. - Fix a UAF problem in patch 11. Hello, This patch set cleanup the journal load and initialization process (discussed and suggested by Ted in [1]). Firstly, move reading of the journal superblock from jbd2_journal_load() and jbd2_journal_wipe() early to journal_init_common(), and completely drop the kludgy call of journal_get_superblock() in jbd2_journal_check_used_features(). Then cleanup the ext4_get_journal() and ext4_get_dev_journal(), making their initialization process and error handling process more clear, and return proper errno if some bad happens. Finally rename those two functions to jbd2_open_{dev,inode}_journal. This patch set has passed 'kvm-xfstests -g auto'. [1] https://lore.kernel.org/linux-ext4/20230617185057.GA343628@xxxxxxx/ Thanks, Yi. Zhang Yi (12): jbd2: move load_superblock() dependent functions jbd2: move load_superblock() into journal_init_common() jbd2: don't load superblock in jbd2_journal_check_used_features() jbd2: checking valid features early in journal_get_superblock() jbd2: open code jbd2_verify_csum_type() helper jbd2: cleanup load_superblock() jbd2: add fast_commit space check jbd2: cleanup journal_init_common() jbd2: drop useless error tag in jbd2_journal_wipe() jbd2: jbd2_journal_init_{dev,inode} return proper error return value ext4: cleanup ext4_get_dev_journal() and ext4_get_journal() ext4: ext4_get_{dev}_journal return proper error value fs/ext4/super.c | 154 ++++++++------- fs/jbd2/journal.c | 466 +++++++++++++++++++++------------------------ fs/ocfs2/journal.c | 8 +- 3 files changed, 300 insertions(+), 328 deletions(-) -- 2.34.3