[GIT PULL] erofs updates for 6.2-rc1 (fscache part inclusive)

Gao Xiang xiang at kernel.org
Mon Dec 12 18:01:12 AEDT 2022


Hi Linus,

On Sun, Dec 11, 2022 at 01:29:21AM +0800, Gao Xiang wrote:
> Hi Linus,
> 
> Once the merge window opens, could you consider this pull request for
> 6.2-rc1?
> 
> In this cycle, large folios are now enabled in the iomap/fscache mode
> for uncompressed files first.  In order to do that, we've also cleaned
> up better interfaces between erofs and fscache, which are acked by
> fscache/netfs folks and included in this pull request.
> 
> Other than that, there are random fixes around erofs over fscache and
> crafted images by syzbot, minor cleanups and documentation updates.
> 
> Note that there could be a trivial conflict between erofs and vfs
> tree according to linux-next report [1].
> 
> Happy Holidays!
> Gao Xiang
> 
> [1] https://lore.kernel.org/r/20221205092415.56cc6e19@canb.auug.org.au/
> 
> The following changes since commit eb7081409f94a9a8608593d0fb63a1aa3d6f95d8:
> 
>   Linux 6.1-rc6 (2022-11-20 16:02:16 -0800)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git tags/erofs-for-6.2-rc1
> 
> for you to fetch changes up to c505feba4c0d76084e56ec498ce819f02a7043ae:
> 

Sorry for bothering again.

Just having seen v6.2 pull request requirements together with
Linux 6.1 announcement.

Comparing with the latest -next on the last Thursday, there was one-liner
addition on
commit 927e5010ff5b ("erofs: use kmap_local_page() only for erofs_bread()")
as below:

diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
index 85932086d23f..5b3a793103af 100644
--- a/fs/erofs/inode.c
+++ b/fs/erofs/inode.c
@@ -268,6 +268,7 @@ static int erofs_fill_inode(struct inode *inode)
 	case S_IFDIR:
 		inode->i_op = &erofs_dir_iops;
 		inode->i_fop = &erofs_dir_fops;
+		inode_nohighmem(inode);
 		break;
 	case S_IFLNK:
 		err = erofs_fill_symlink(inode, kaddr, ofs)

since I found erofs_lookup() could break on x86 platform with HIGHMEM
enabled this weekend and I made all dirs inode_nohighmem() and folded
into the original patch since it's no needed to keep dirs in HIGHMEM.
I don't find other strange other than this.

Because there is no -next version on Monday, if you would like to
take all commits in -next you could take
  git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git tags/erofs-for-6.2-rc1-alt

instead (the top commit is e5293c693d68f705787480159c4cd332c09c5e67.)

In that way I will send another patch to fix the issue above later,
but if it's possible, it'd be better to apply "tags/erofs-for-6.2-rc1"
directly...

The diffstat of tags/erofs-for-6.2-rc1-alt is:

Chen Zhongjin (1):
      erofs: Fix pcluster memleak when its block address is zero

Gao Xiang (5):
      erofs: update documentation
      erofs: clean up cached I/O strategies
      erofs: use kmap_local_page() only for erofs_bread()
      erofs: fix missing unmap if z_erofs_get_extent_compressedlen() fails
      erofs: validate the extent length for uncompressed pclusters

Hou Tao (1):
      erofs: check the uniqueness of fsid in shared domain in advance

Jingbo Xu (5):
      erofs: enable large folios for iomap mode
      fscache,cachefiles: add prepare_ondemand_read() callback
      erofs: switch to prepare_ondemand_read() in fscache mode
      erofs: support large folios for fscache mode
      erofs: enable large folios for fscache mode

 Documentation/filesystems/erofs.rst |  38 ++--
 fs/cachefiles/io.c                  |  77 ++++---
 fs/erofs/data.c                     |  10 +-
 fs/erofs/fscache.c                  | 408 ++++++++++++++++--------------------
 fs/erofs/inode.c                    |   1 +
 fs/erofs/internal.h                 |  13 +-
 fs/erofs/super.c                    |   2 +-
 fs/erofs/xattr.c                    |   8 +-
 fs/erofs/zdata.c                    |  80 +++----
 fs/erofs/zmap.c                     |  15 +-
 include/linux/netfs.h               |   8 +
 include/trace/events/cachefiles.h   |  27 +--
 12 files changed, 343 insertions(+), 344 deletions(-)

Thanks,
Gao Xiang


More information about the Linux-erofs mailing list