[GIT PULL] erofs updates for 5.15-rc1

Gao Xiang xiang at kernel.org
Wed Sep 1 08:59:42 AEST 2021


Hi Linus.

Could you consider this pull request for 5.15-rc1?

In this cycle, direct I/O and fsdax support for uncompressed files
are now added in order to avoid double-caching for loop device and
VM container use cases. All uncompressed cases are now turned into
iomap infrastructure, which looks much simpler and cleaner.

Besides, fiemap support is added for both (un)compressed files by
using iomap infrastructure as well so end users can easily get file
distribution. We've also added chunk-based uncompressed files support
for data deduplication as the next step of VM container use cases.

All commits have been tested and have been in linux-next. Note that
in order to support iomap tail-packing inline, I had to merge iomap
core branch (I've created a merge commit with the reason) in advance
to resolve such functional dependency, which is now merged into
upstream. Hopefully I did the right thing...

Also, there is a merge conflict detected by Stephen with new fsdax
cleanups in the nvdimm tree, which can be resolved as below if needed:
https://lore.kernel.org/r/20210830170938.6fd8813d@canb.auug.org.au

Thanks,
Gao Xiang

The following changes since commit c500bee1c5b2f1d59b1081ac879d73268ab0ff17:

  Linux 5.14-rc4 (2021-08-01 17:04:17 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git tags/erofs-for-5.15-rc1

for you to fetch changes up to 1266b4a7ecb679587dc4d098abe56ea53313d569:

  erofs: fix double free of 'copied' (2021-08-25 22:05:58 +0800)

----------------------------------------------------------------
Changes since last update:

 - support direct I/O for all uncompressed files;

 - support fsdax for non-tailpacking regular files;

 - use iomap infrastructure for all uncompressed cases;

 - support fiemap for both (un)compressed files;

 - introduce chunk-based files for chunk deduplication.

 - some cleanups.

----------------------------------------------------------------
Andreas Gruenbacher (1):
      iomap: Fix some typos and bad grammar

Christoph Hellwig (2):
      iomap: simplify iomap_readpage_actor
      iomap: simplify iomap_add_to_ioend

Gao Xiang (9):
      iomap: support reading inline data from non-zero pos
      erofs: dax support for non-tailpacking regular file
      Merge tag 'iomap-5.15-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git
      erofs: convert all uncompressed cases to iomap
      erofs: add support for the full decompressed length
      erofs: add fiemap support with iomap
      erofs: introduce chunk-based file on-disk format
      erofs: support reading chunk-based uncompressed files
      erofs: fix double free of 'copied'

Huang Jianan (1):
      erofs: iomap support for non-tailpacking DIO

Matthew Wilcox (Oracle) (3):
      iomap: Support inline data with block size < page size
      iomap: Use kmap_local_page instead of kmap_atomic
      iomap: Add another assertion to inline data handling

Yue Hu (2):
      erofs: directly use wrapper erofs_page_is_managed() when shrinking
      erofs: remove the mapping parameter from erofs_try_to_free_cached_page()

 Documentation/filesystems/erofs.rst |  19 +-
 fs/erofs/Kconfig                    |   1 +
 fs/erofs/data.c                     | 415 +++++++++++++++++++-----------------
 fs/erofs/erofs_fs.h                 |  47 +++-
 fs/erofs/inode.c                    |  29 ++-
 fs/erofs/internal.h                 |  22 +-
 fs/erofs/namei.c                    |   1 +
 fs/erofs/super.c                    |  61 +++++-
 fs/erofs/zdata.c                    |   6 +-
 fs/erofs/zmap.c                     | 133 +++++++++++-
 fs/iomap/buffered-io.c              | 169 +++++++--------
 fs/iomap/direct-io.c                |  10 +-
 include/linux/iomap.h               |  18 ++
 13 files changed, 627 insertions(+), 304 deletions(-)


More information about the Linux-erofs mailing list