[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250423085257.122685-1-yi.zhang@huaweicloud.com>
Date: Wed, 23 Apr 2025 16:52:48 +0800
From: Zhang Yi <yi.zhang@...weicloud.com>
To: linux-ext4@...r.kernel.org
Cc: linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
tytso@....edu,
adilger.kernel@...ger.ca,
jack@...e.cz,
yi.zhang@...wei.com,
yi.zhang@...weicloud.com,
libaokun1@...wei.com,
yukuai3@...wei.com,
yangerkun@...wei.com
Subject: [PATCH 0/9] ext4: fix stale extent status entries and clairfy rules
This patch series addresses the potential problems discussed with Jan
Kara regarding the modification rules for mapping extents[1]. Preparing
for the buffered I/O conversion for regular files.
This change includes:
Patch 1-5 fixes problems related to stale extent status entries that
may arise during the collapsing of ranges, the insertion of ranges, or
file truncation when these operations compete with concurrent writeback,
fiemap, or get extent cache.
Patch 6-8 adds a helper function to verify whether the context for
modifying extents is safe when EXT4_DEBUG is enabled. It primarily
checks the inode's i_rwsem and the mapping's invalidate_lock.
Patch 9 adds a comment to clarify the rules for loading, mapping,
modifying, and removing extents.
Please refer to the following patches for details.
[1] https://lore.kernel.org/linux-ext4/20241211160047.qnxvodmbzngo3jtr@quack3/
Thanks,
Yi.
Zhang Yi (9):
ext4: ext4: unify EXT4_EX_NOCACHE|NOFAIL flags in
ext4_ext_remove_space()
ext4: generalize EXT4_GET_BLOCKS_IO_SUBMIT flag usage
ext4: prevent stale extent cache entries caused by concurrent I/O
writeback
ext4: prevent stale extent cache entries caused by concurrent fiemap
ext4: prevent stale extent cache entries caused by concurrent get
es_cache
ext4: factor out is_special_ino()
ext4: introduce ext4_check_map_extents_env() debug helper
ext4: check env when mapping and modifying extents
ext4: clairfy the rules for modifying extents
fs/ext4/ext4.h | 26 ++++++++++++---
fs/ext4/extents.c | 54 ++++++++++++++++++++----------
fs/ext4/extents_status.c | 35 ++++++++++++++++++--
fs/ext4/fast_commit.c | 4 ++-
fs/ext4/inode.c | 71 +++++++++++++++++++++++++++++++---------
fs/ext4/ioctl.c | 8 ++++-
6 files changed, 157 insertions(+), 41 deletions(-)
--
2.46.1
Powered by blists - more mailing lists