[PATCH 0/9] ext4: fix stale extent status entries and clairfy rules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux