[f2fs-dev] [RFC PATCH v3 0/2] f2fs-tools: adapt to inline extent format

Yongpeng Yang <[email protected]> Fri, 24 Jul 2026 20:59:57 +0800
Newsgroups net.sourceforge.lists.linux-f2fs-devel
Message-ID <[email protected]>
From: Yongpeng Yang <[email protected]>

This is the f2fs-tools companion series for the kernel patchset
"f2fs: introduce inline extent mapping for inode data blocks" (v3).

Changes since v2:
- The kernel inline extent feature has been redesigned. The inline
  extent area is now placed after struct f2fs_inode->i_extra_end,
  inside the i_extra_isize region, instead of repurposing the direct
  block address area (i_addr[]) with dual magic numbers.
- As a consequence, f2fs-tools no longer needs to understand or convert
  the inline extent on-disk format. The bulk of v2 (the 787-line
  fsck/iextent.c core with lookup/insert/merge/split/convert logic, the
  datablock_addr()/set_data_blkaddr() rework, and the build plumbing)
  is dropped entirely.
- Dropped [RFC PATCH v2 2/3] "build: add inline extent build support":
  no new source files are added, so no build changes are needed.
- Dropped [RFC PATCH v2 3/3] "f2fs_io: add support to clear/set extent
  flags": the per-file ioctl flag no longer exists in the kernel side.

v2: https://lore.kernel.org/all/[email protected]/

What remains is a small adaptation to the new on-disk inode layout:

Patch 1: Adapt to the inode layout change -- split i_compr_blocks into
         __le32 i_compr_blocks + __le32 i_inline_ext_capacity, add the
         struct f2fs_iext_header definition, and keep the inline extent
         consistent with the largest extent cache by invalidating it
         whenever i_ext is dropped or truncated in fsck.
Patch 2: dump.f2fs -- print the inline extent capacity and all extent
         entries for inodes that reserve an inline extent area.

Yongpeng Yang (2):
  fsck.f2fs: adapt to inline extent inode layout
  dump.f2fs: dump inline extent mapping information

 fsck/fsck.c       |  9 ++++++---
 fsck/inject.c     |  6 +++---
 fsck/mount.c      | 20 +++++++++++++++++++-
 fsck/segment.c    |  2 +-
 include/f2fs_fs.h | 22 +++++++++++++++++++++-
 5 files changed, 50 insertions(+), 9 deletions(-)

-- 
2.43.0



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel