[PATCH v4 0/6] erofs-utils: add multiple device support

Gao Xiang hsiangkao at linux.alibaba.com
Tue Nov 16 20:49:33 AEDT 2021


RFC: https://lore.kernel.org/r/20210928081608.9255-1-hsiangkao@linux.alibaba.com
RFC v2: https://lore.kernel.org/r/20210929022521.148059-1-hsiangkao@linux.alibaba.com
v3: https://lore.kernel.org/r/20211112123128.126741-1-hsiangkao@linux.alibaba.com

Hi forks,

This patchset mainly add multiple device support for erofs-utils,
including full multiple device support for erofsfuse, dump.erofs
and fsck.erofs.

Multiple device support is going to be used for the upcoming RAFS
v6 (EROFS-compatible on-disk format) [1] together with Nydus [2]
container image service. Thus, since RAFS v6 is an EROFS-compatible
on-disk format, erofsfuse, dump.erofs and fsck.erofs needs to handle
such images as well.

In addition, "--blobdev" option is added to mkfs.erofs which can
be used to redirect all chunked data to another blob file. It's
another direct use of the multiple device feature too.

[1] https://sched.co/pcdL
[2] https://github.com/dragonflyoss/image-service

Thanks,
Gao Xiang

Gao Xiang (6):
  erofs-utils: add extra device I/O interface
  erofs-utils: fuse: add multiple device support
  erofs-utils: mkfs: add extra blob device support
  erofs-utils: dump: support multiple devices
  erofs-utils: fsck: support multiple devices
  erofs-utils: get compression algorithms directly on mapping

 dump/main.c                | 57 +++++++++++++++++++++-------
 fsck/main.c                | 57 ++++++++++++++++++----------
 fuse/main.c                | 11 ++++++
 include/erofs/blobchunk.h  |  3 +-
 include/erofs/cache.h      |  5 +++
 include/erofs/config.h     |  1 +
 include/erofs/decompress.h |  5 ---
 include/erofs/defs.h       | 32 ++++++++++++++++
 include/erofs/internal.h   | 35 +++++++++++++++--
 include/erofs/io.h         | 10 +++--
 include/erofs_fs.h         | 22 +++++++++--
 lib/blobchunk.c            | 70 ++++++++++++++++++++++++++++------
 lib/data.c                 | 78 ++++++++++++++++++++++++++++----------
 lib/io.c                   | 48 ++++++++++++++++++-----
 lib/namei.c                |  4 +-
 lib/super.c                | 45 ++++++++++++++++++++--
 lib/zmap.c                 | 23 +++++------
 man/dump.erofs.1           | 25 +++---------
 man/erofsfuse.1            |  4 ++
 man/mkfs.erofs.1           |  3 ++
 mkfs/main.c                | 21 +++++++++-
 21 files changed, 432 insertions(+), 127 deletions(-)

-- 
2.24.4



More information about the Linux-erofs mailing list