2021-08-31 23:20:09

by Gao Xiang

[permalink] [raw]
Subject: [GIT PULL] erofs updates for 5.15-rc1

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/[email protected]

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(-)


2021-09-02 16:24:57

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] erofs updates for 5.15-rc1

On Tue, Aug 31, 2021 at 4:00 PM Gao Xiang <[email protected]> wrote:
>
> 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...

It all looks fine to me. You have all the important parts: what you
are merging, and _why_ you are merging it.

So no complaints, and thanks for making it explicit in your pull
request too so that I'm not taken by surprise.

Linus

2021-09-02 17:39:38

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] erofs updates for 5.15-rc1

The pull request you sent on Wed, 1 Sep 2021 06:59:42 +0800:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/412106c203b759fa7fbcc4f855a90ab18e681ccb

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

2021-09-02 19:02:14

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] erofs updates for 5.15-rc1

On Thu, Sep 2, 2021 at 11:21 AM Gao Xiang <[email protected]> wrote:
>
> Yeah, thanks. That was my first time to merge another tree due to hard
> dependency like this. I've gained some experience from this and will be
> more confident on this if such things happen in the future. :)

Well, being nervous about cross-tree merges is probably a good thing,
and they *should* be fairly rare.

So don't get over-confident and cocky ;^)

Linus

2021-09-02 23:33:41

by Gao Xiang

[permalink] [raw]
Subject: Re: [GIT PULL] erofs updates for 5.15-rc1

On Thu, Sep 02, 2021 at 09:18:59AM -0700, Linus Torvalds wrote:
> On Tue, Aug 31, 2021 at 4:00 PM Gao Xiang <[email protected]> wrote:
> >
> > 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...
>
> It all looks fine to me. You have all the important parts: what you
> are merging, and _why_ you are merging it.
>
> So no complaints, and thanks for making it explicit in your pull
> request too so that I'm not taken by surprise.

Yeah, thanks. That was my first time to merge another tree due to hard
dependency like this. I've gained some experience from this and will be
more confident on this if such things happen in the future. :)

Thanks,
Gao Xiang

>
> Linus