Message ID | 20230410021722.1836433-1-chao@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 68f0453dabdb99e76f75ce52ce40bc4bc71389a8 |
Headers | show |
Series | [f2fs-dev] f2fs: use f2fs_hw_is_readonly() instead of bdev_read_only() | expand |
Hello: This patch was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <jaegeuk@kernel.org>: On Mon, 10 Apr 2023 10:17:22 +0800 you wrote: > f2fs has supported multi-device feature, to check devices' rw status, > it should use f2fs_hw_is_readonly() rather than bdev_read_only(), fix > it. > > Meanwhile, it removes f2fs_hw_is_readonly() check condition in: > - f2fs_write_checkpoint() > - f2fs_convert_inline_inode() > As it has checked f2fs_readonly() condition, and if f2fs' devices > were readonly, f2fs_readonly() must be true. > > [...] Here is the summary with links: - [f2fs-dev] f2fs: use f2fs_hw_is_readonly() instead of bdev_read_only() https://git.kernel.org/jaegeuk/f2fs/c/68f0453dabdb You are awesome, thank you!
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c index 007fd965dd7e..478ee8aeac33 100644 --- a/fs/f2fs/checkpoint.c +++ b/fs/f2fs/checkpoint.c @@ -721,7 +721,7 @@ int f2fs_recover_orphan_inodes(struct f2fs_sb_info *sbi) if (!is_set_ckpt_flags(sbi, CP_ORPHAN_PRESENT_FLAG)) return 0; - if (bdev_read_only(sbi->sb->s_bdev)) { + if (f2fs_hw_is_readonly(sbi)) { f2fs_info(sbi, "write access unavailable, skipping orphan cleanup"); return 0; } diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 1573bf123197..a1b570a5e50f 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -3358,7 +3358,7 @@ static inline bool sanity_check_area_boundary(struct f2fs_sb_info *sbi, raw_super->segment_count = cpu_to_le32((main_end_blkaddr - segment0_blkaddr) >> log_blocks_per_seg); - if (f2fs_readonly(sb) || bdev_read_only(sb->s_bdev)) { + if (f2fs_readonly(sb) || f2fs_hw_is_readonly(sbi)) { set_sbi_flag(sbi, SBI_NEED_SB_WRITE); res = "internally"; } else { @@ -3934,7 +3934,7 @@ int f2fs_commit_super(struct f2fs_sb_info *sbi, bool recover) int err; if ((recover && f2fs_readonly(sbi->sb)) || - bdev_read_only(sbi->sb->s_bdev)) { + f2fs_hw_is_readonly(sbi)) { set_sbi_flag(sbi, SBI_NEED_SB_WRITE); return -EROFS; }
f2fs has supported multi-device feature, to check devices' rw status, it should use f2fs_hw_is_readonly() rather than bdev_read_only(), fix it. Meanwhile, it removes f2fs_hw_is_readonly() check condition in: - f2fs_write_checkpoint() - f2fs_convert_inline_inode() As it has checked f2fs_readonly() condition, and if f2fs' devices were readonly, f2fs_readonly() must be true. Signed-off-by: Chao Yu <chao@kernel.org> --- fs/f2fs/checkpoint.c | 2 +- fs/f2fs/super.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)