[WIP] [NOMERGE] [RFC PATCH v0.7 00/10] erofs: introduce the new unzip subsystem
Gao Xiang
gaoxiang25 at huawei.com
Tue Jul 10 05:17:09 AEST 2018
change log v0.7:
- several bugfix ( buffer overflow, shrinker, ownership, etc... )
- all features available
- it works now, and need do more for the random read compared
with the old decompression version.
change log v0.6:
- preliminary works (could boot into launcher)
- still have minor buges to fix
change log v0.5:
- add reclaim path
- almost work, still debugging
change log v0.4:
- bugfix (runable now for small files)
- separate into one more patch
[RESEND]
- fix according to:
Link: https://lists.01.org/pipermail/kbuild-all/2018-July/049774.html
- fix compiling warning:
Link: https://lists.01.org/pipermail/kbuild-all/2018-June/049647.html
- rebase code
change log v0.3:
- separate to several small patches, maybe more in the future patchset
change log v0.2:
- use the recent introduced tagptr_t type to manage tagged pointers.
- bugfix
The patchset is temporarily based on
"erofs: fix erofs_module_init & exit"
Gao Xiang (10):
<linux/tagptr.h>: Introduce tagged pointer
erofs: introduce pagevec for unzip subsystem
erofs: add erofs_map_blocks_iter
erofs: add erofs_allocpage
erofs: globalize prepare_bio and __submit_bio
erofs: add a generic z_erofs VLE decompressor
erofs: introduce superblock registration
erofs: introduce erofs shrinker
erofs: introduce workstation for decompression
erofs: introduce VLE decompression support
fs/erofs/Kconfig | 24 +
fs/erofs/Makefile | 3 +-
fs/erofs/data.c | 41 +-
fs/erofs/inode.c | 6 +-
fs/erofs/internal.h | 133 +++++
fs/erofs/staging.h | 42 ++
fs/erofs/super.c | 57 +++
fs/erofs/unzip_pagevec.h | 172 +++++++
fs/erofs/unzip_vle.c | 1200 ++++++++++++++++++++++++++++++++++++++++++++++
fs/erofs/unzip_vle.h | 228 +++++++++
fs/erofs/unzip_vle_lz4.c | 146 ++++++
fs/erofs/utils.c | 233 +++++++++
fs/file.c | 24 +-
include/linux/file.h | 15 +-
include/linux/tagptr.h | 110 +++++
15 files changed, 2384 insertions(+), 50 deletions(-)
create mode 100644 fs/erofs/unzip_pagevec.h
create mode 100644 fs/erofs/unzip_vle.c
create mode 100644 fs/erofs/unzip_vle.h
create mode 100644 fs/erofs/unzip_vle_lz4.c
create mode 100644 fs/erofs/utils.c
create mode 100644 include/linux/tagptr.h
--
1.9.1
More information about the Linux-erofs
mailing list