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

Reply via email to