RFC: https://lore.kernel.org/r/[email protected] RFC v2: https://lore.kernel.org/r/[email protected] v3: https://lore.kernel.org/r/[email protected]
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
