[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230811063610.2980059-1-yi.zhang@huaweicloud.com>
Date: Fri, 11 Aug 2023 14:35:58 +0800
From: Zhang Yi <yi.zhang@...weicloud.com>
To: linux-ext4@...r.kernel.org
Cc: tytso@....edu, adilger.kernel@...ger.ca, jack@...e.cz,
yi.zhang@...wei.com, yi.zhang@...weicloud.com, yukuai3@...wei.com
Subject: [PATCH v3 00/12] ext4,jbd2: cleanup journal load and initialization process
From: Zhang Yi <yi.zhang@...wei.com>
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@mit.edu/
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
Powered by blists - more mailing lists