Hi all, This patchset is based on the original patch https://lore.kernel.org/r/[email protected] and several fixes / compression support by Huang Jianan https://lore.kernel.org/r/[email protected]
with my additional 9 incremental patches to refactor my current development status, which will be folded into original patches in the next WIP version since the fuse approach hasn't been merged into dev branch yet. To summarize the benefits of erofsfuse, I think it would be: - erofs images can be supported on various platforms; - an independent unpack tool can be developed based on this; - new on-disk feature can be iterated, verified effectively. Any feedback or/and follow-on development/cleanup is welcomed. (we still have a lot to do for the entire erofsfuse codebase...) Thanks, Gao Xiang Gao Xiang (9): erofs-utils: fuse: adjust larger extent handling erofs-utils: fuse: use proper expression about inode size erofs-utils: fuse: drop ofs_out erofs-utils: fuse: refuse a undefined shifted cluster behavior erofs-utils: fuse: drop z_erofs_shifted_transform() erofs-utils: fuse: rename ofs_head and outputsize erofs-utils: fuse: cleanup erofs_read_data_compression() erofs-utils: fuse: move up mpage in struct erofs_map_blocks erofs-utils: fuse: fix up source headers Huang Jianan (2): erofs-utils: fuse: support read special file erofs-utils: fuse: support read compressed file Li Guifu (1): erofs-utils: introduce fuse implementation Makefile.am | 2 +- README | 28 ++- configure.ac | 3 +- fuse/Makefile.am | 18 ++ fuse/decompress.c | 84 ++++++++ fuse/decompress.h | 42 ++++ fuse/dentry.c | 129 ++++++++++++ fuse/dentry.h | 43 ++++ fuse/disk_io.c | 72 +++++++ fuse/disk_io.h | 21 ++ fuse/getattr.c | 65 ++++++ fuse/getattr.h | 15 ++ fuse/init.c | 118 +++++++++++ fuse/init.h | 24 +++ fuse/logging.c | 81 ++++++++ fuse/logging.h | 55 ++++++ fuse/main.c | 171 ++++++++++++++++ fuse/namei.c | 242 +++++++++++++++++++++++ fuse/namei.h | 22 +++ fuse/open.c | 22 +++ fuse/open.h | 15 ++ fuse/read.c | 214 ++++++++++++++++++++ fuse/read.h | 17 ++ fuse/readir.c | 123 ++++++++++++ fuse/readir.h | 17 ++ fuse/zmap.c | 417 +++++++++++++++++++++++++++++++++++++++ include/erofs/defs.h | 16 ++ include/erofs/internal.h | 79 ++++++++ include/erofs_fs.h | 4 + 29 files changed, 2156 insertions(+), 3 deletions(-) create mode 100644 fuse/Makefile.am create mode 100644 fuse/decompress.c create mode 100644 fuse/decompress.h create mode 100644 fuse/dentry.c create mode 100644 fuse/dentry.h create mode 100644 fuse/disk_io.c create mode 100644 fuse/disk_io.h create mode 100644 fuse/getattr.c create mode 100644 fuse/getattr.h create mode 100644 fuse/init.c create mode 100644 fuse/init.h create mode 100644 fuse/logging.c create mode 100644 fuse/logging.h create mode 100644 fuse/main.c create mode 100644 fuse/namei.c create mode 100644 fuse/namei.h create mode 100644 fuse/open.c create mode 100644 fuse/open.h create mode 100644 fuse/read.c create mode 100644 fuse/read.h create mode 100644 fuse/readir.c create mode 100644 fuse/readir.h create mode 100644 fuse/zmap.c -- 2.24.0
