diff options
author | Zhihao Cheng <chengzhihao1@huawei.com> | 2023-12-13 09:32:24 +0800 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2024-01-04 23:42:21 -0500 |
commit | ada3fb86a3f3aea40903d5ad9aeec708dc049b8b (patch) | |
tree | 1b20a53fb175b40fbb9742053206e487f4d1388a /fs | |
parent | b4e73e61268903d82dacff2bc6f4bb766c6ed555 (diff) | |
download | linux-ada3fb86a3f3aea40903d5ad9aeec708dc049b8b.tar.gz linux-ada3fb86a3f3aea40903d5ad9aeec708dc049b8b.tar.bz2 linux-ada3fb86a3f3aea40903d5ad9aeec708dc049b8b.zip |
ext4: move ext4_check_bdev_write_error() into nojournal mode
Since JBD2 takes care of all metadata writeback errors of fs dev,
ext4_check_bdev_write_error() is useful only in nojournal mode.
Move it into '!ext4_handle_valid(handle)' branch.
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Suggested-by: Jan Kara <jack@suse.cz>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20231213013224.2100050-6-chengzhihao1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ext4/ext4_jbd2.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/ext4/ext4_jbd2.c b/fs/ext4/ext4_jbd2.c index d1a2e6624401..5d8055161acd 100644 --- a/fs/ext4/ext4_jbd2.c +++ b/fs/ext4/ext4_jbd2.c @@ -235,8 +235,6 @@ int __ext4_journal_get_write_access(const char *where, unsigned int line, might_sleep(); - ext4_check_bdev_write_error(sb); - if (ext4_handle_valid(handle)) { err = jbd2_journal_get_write_access(handle, bh); if (err) { @@ -244,7 +242,8 @@ int __ext4_journal_get_write_access(const char *where, unsigned int line, handle, err); return err; } - } + } else + ext4_check_bdev_write_error(sb); if (trigger_type == EXT4_JTR_NONE || !ext4_has_metadata_csum(sb)) return 0; BUG_ON(trigger_type >= EXT4_JOURNAL_TRIGGER_COUNT); |