[erofs-dev] [RFC PATCH RESEND 07/12] erofs: add namei functions

2018-06-21 Thread Gao Xiang
This commit adds functions that transfer names to inodes. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/namei.c | 243 +++ 1 file changed, 243 insertions(+) create mode 100644 fs/erofs/namei.c diff

[erofs-dev] [RFC PATCH RESEND 09/12] erofs: update Kconfig and Makefile

2018-06-21 Thread Gao Xiang
This commit adds Makefile and Kconfig for erofs, and updates Makefile and Kconfig files in the fs directory. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/Kconfig| 1 + fs/Makefile | 1 + fs/erofs/Kconfig | 34

[erofs-dev] [RFC PATCH RESEND 08/12] erofs: definitions for the various kernel version temporarily

2018-06-21 Thread Gao Xiang
the erofs file system is designed for 3.1x ~ latest kernel, staging.h is introduced for compatibility. This _should_ be avoided in the near future after we fork the needed kernel version public trees. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs

[erofs-dev] [RFC PATCH RESEND 10/12] erofs: introduce xattr & acl support

2018-06-21 Thread Gao Xiang
will be used instead. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/Kconfig| 37 +++ fs/erofs/Makefile | 1 + fs/erofs/inode.c| 61 + fs/erofs/internal.h | 20 ++ fs/erofs/namei.c| 7 + fs/erofs/super.c| 29 +++ fs/erofs/xa

[erofs-dev] [RFC PATCH RESEND 11/12] erofs: introduce a customized LZ4 decompression

2018-06-21 Thread Gao Xiang
to: https://groups.google.com/forum/#!topic/lz4c/_3kkz5N6n00 Therefore, I hacked the LZ4 decompression logic by hand, probably NOT the fastest approach, and hope for better implementation. Signed-off-by: Gao Xiang --- fs/erofs/lz4defs.h | 227 +

[erofs-dev] [RFC PATCH RESEND 03/12] erofs: add super block operations

2018-06-21 Thread Gao Xiang
This commit adds erofs super block operations, including (u)mount, remount_fs, show_options, statfs, in addition to some private icache management functions. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/super.c | 362

[erofs-dev] [RFC PATCH RESEND 02/12] erofs: add erofs in-memory stuffs

2018-06-21 Thread Gao Xiang
Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/internal.h | 300 1 file changed, 300 insertions(+) create mode 100644 fs/erofs/internal.h diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h new file mode 100644 index 000

[erofs-dev] [RFC PATCH RESEND 00/12] erofs: introduce erofs file system

2018-06-21 Thread Gao Xiang
ill be released as soon as the internal process ends. 4) VLE decompression code still needs to do more optimization and cleanup. Thanks, Gao Xiang (12): erofs: add on-disk layout erofs: add erofs in-memory stuffs erofs: add super block operations erofs: add raw address_space operat

[erofs-dev] [RFC PATCH RESEND 01/12] erofs: add on-disk layout

2018-06-21 Thread Gao Xiang
: Gao Xiang --- fs/erofs/erofs_fs.h | 258 1 file changed, 258 insertions(+) create mode 100644 fs/erofs/erofs_fs.h diff --git a/fs/erofs/erofs_fs.h b/fs/erofs/erofs_fs.h new file mode 100644 index 000..c08d982 --- /dev/null +++ b/fs/erofs

[erofs-dev] [RFC PATCH RESEND 06/12] erofs: add directory operations

2018-06-21 Thread Gao Xiang
This adds functions for directory, mainly readdir. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/dir.c | 143 + 1 file changed, 143 insertions(+) create mode 100644 fs/erofs/dir.c diff --git a/fs

[erofs-dev] [RFC PATCH RESEND 04/12] erofs: add raw address_space operations

2018-06-21 Thread Gao Xiang
This commit adds functions for meta and raw data, providing a set of raw address_space_operations for file inodes. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/data.c | 393 1 file changed, 393

[erofs-dev] [RFC PATCH RESEND 05/12] erofs: add inode operations

2018-06-21 Thread Gao Xiang
This adds core functions to get, read an inode. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/inode.c | 222 +++ 1 file changed, 222 insertions(+) create mode 100644 fs/erofs/inode.c diff --git a/fs

[erofs-dev] [RFC PATCH RESEND 12/12] erofs: introduce VLE decompression support (experimental)

2018-06-21 Thread Gao Xiang
(percpu buffer, memcpy) and slow path(vmap, no memcpy), but we observed some issues from the bad parts too. In brief, some parts of this patch will be refactored in the near future. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 17 + fs

[erofs-dev] for test only

2018-06-21 Thread Gao Xiang
for test only -- Linux-erofs mailing list Linux-erofs@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linux-erofs

[erofs-dev] mailing list configuration test 2

2018-06-21 Thread Gao Xiang
-- Linux-erofs mailing list Linux-erofs@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linux-erofs

[PATCH RESEND] erofs: add the missing header

2018-06-21 Thread Gao Xiang
This fixes compiling errors built with: config: parisc-allmodconfig (attached as .config) compiler: hppa-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 Reported-by: kbuild test robot Signed-off-by: Gao Xiang Reviewed-by: Chao Yu Signed-off-by: Chao Yu --- fs/erofs/data.c | 1 + fs/erofs/unzip.c | 1

configuration test 3

2018-06-21 Thread Gao Xiang
configuration test 3 -- Linux-erofs mailing list Linux-erofs@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linux-erofs

huawei ingoing list configuration test 4

2018-06-21 Thread Gao Xiang

huawei ingoing list configuration test 5

2018-06-21 Thread Gao Xiang
-- Linux-erofs mailing list Linux-erofs@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linux-erofs

huawei ingoing list configuration test 6

2018-06-21 Thread Gao Xiang
-- Linux-erofs mailing list Linux-erofs@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linux-erofs

Re: huawei ingoing list configuration test 6

2018-06-21 Thread Gao Xiang
test ok. On 2018/6/22 13:40, Gao Xiang wrote: -- Linux-erofs mailing list Linux-erofs@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linux-erofs

[WIP] [NOMERGE] [RFC PATCH v0] erofs: introduce the new unzip subsystem

2018-06-27 Thread Gao Xiang
Signed-off-by: Gao Xiang --- The patch is temporarily based on [RFC PATCH RESEND 12/12] erofs: introduce VLE decompression support (experimental) STILL BUGGY, NOT FOR DAILY USE! fs/erofs/Makefile|7 +- fs/erofs/data.c | 189 +-- fs/erofs/inode.c |2

[RFC PATCH] : Introduce tagged pointer

2018-06-28 Thread Gao Xiang
...@vger.kernel.org Signed-off-by: Gao Xiang --- Tagged pointers are good for performance and memory saving, hoping for a generic taggedptr approach to clean up redundant dirty code. Any comments, suggestions or alternative approaches are welcomed. :) Thanks, Gao Xiang fs/file.c | 19

Re: [RFC PATCH] : Introduce tagged pointer

2018-06-28 Thread Gao Xiang
Hi Matthew, On 2018/6/28 17:23, Matthew Wilcox wrote: > On Thu, Jun 28, 2018 at 05:06:29PM +0800, Gao Xiang wrote: >> Therefore, this patch introduces simple generic methods to fold >> tags into a pointer integer. It currently reuses the last 2 bits >> of the pointer for t

[RFC PATCH v2] : Introduce tagged pointer

2018-06-28 Thread Gao Xiang
-ker...@vger.kernel.org Signed-off-by: Gao Xiang --- change log v2: - add support to select the last {1,2,3,...} bits for tags Tagged pointers are good for performance and memory saving, hoping for a generic taggedptr approach to clean up redundant dirty code. Any comments, suggestions or

[RFC PATCH RESEND v3] : Introduce tagged pointer

2018-06-28 Thread Gao Xiang
-ker...@vger.kernel.org Signed-off-by: Gao Xiang --- change log v3: - include/linux/file.h: define a unique alias fdtagptr_t (tagptr2_t) change log v2: - add support to select the last {1,2,3,...} bits for tags Tagged pointers are good for performance and memory saving, hoping for a generic

Re: [WIP] [NOMERGE] [RFC PATCH v0] erofs: introduce the new unzip subsystem

2018-06-29 Thread Gao Xiang
Hi Chao, On 2018/6/30 7:45, Chao Yu wrote: > On 2018/6/27 22:20, Gao Xiang wrote: >> Signed-off-by: Gao Xiang >> --- >> >> The patch is temporarily based on >> [RFC PATCH RESEND 12/12] erofs: introduce VLE decompression support >> (experimental) >>

[WIP] [NOMERGE] [RFC PATCH v0.2 1/2] : Introduce tagged pointer

2018-06-30 Thread Gao Xiang
-ker...@vger.kernel.org Signed-off-by: Gao Xiang --- fs/file.c | 24 ++- include/linux/file.h | 15 --- include/linux/tagptr.h | 110 + 3 files changed, 133 insertions(+), 16 deletions(-) create mode 100644 include/linux

[WIP] [NOMERGE] [RFC PATCH v0.2 1/2] : Introduce tagged pointer

2018-06-30 Thread Gao Xiang
allocation. Refer to: https://en.wikipedia.org/wiki/Tagged_pointer Signed-off-by: Gao Xiang --- fs/file.c | 24 ++- include/linux/file.h | 15 --- include/linux/tagptr.h | 110 + 3 files changed, 133 insertions(+), 16

[WIP] [NOMERGE] [RFC PATCH v0.2 2/2] erofs: introduce the new VLE unzip subsystem

2018-06-30 Thread Gao Xiang
Signed-off-by: Gao Xiang --- change log v0.2: - use the recent introduced tagptr_t type to manage tagged pointers. - bugfix TODO: - spilt into more understandable patches - add missing functions and bugfix The patchset is temporarily based on [RFC PATCH RESEND 11/12] erofs: introduce a

[RFC PATCH v4] : Introduce tagged pointer

2018-06-30 Thread Gao Xiang
-ker...@vger.kernel.org Signed-off-by: Gao Xiang --- change log v4: - fix that the potential usage "#define tagptr2_t tagptr3_t" is broken - add tagptr_init & tagptr_cast_ptr from/to raw data, tagptr_eq for comparsion, tagptr_cmpxchg for CAS - the corresponding EROFS

[WIP] [NOMERGE] [RFC PATCH v0.3 2/6] erofs: introduce pagevec for unzip subsystem

2018-06-30 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/unzip_pagevec.h | 172 +++ 1 file changed, 172 insertions(+) create mode 100644 fs/erofs/unzip_pagevec.h diff --git a/fs/erofs/unzip_pagevec.h b/fs/erofs/unzip_pagevec.h new file mode 100644 index 000

[WIP] [NOMERGE] [RFC PATCH v0.3 3/6] erofs: introduce erofs_map_blocks_iter

2018-06-30 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 8 ++ fs/erofs/Makefile| 1 + fs/erofs/internal.h | 4 + fs/erofs/unzip_vle.c | 231 +++ 4 files changed, 244 insertions(+) create mode 100644 fs/erofs/unzip_vle.c diff --git a/fs

[WIP] [NOMERGE] [RFC PATCH v0.3 1/6] : Introduce tagged pointer

2018-06-30 Thread Gao Xiang
allocation. Refer to: https://en.wikipedia.org/wiki/Tagged_pointer Signed-off-by: Gao Xiang --- fs/file.c | 24 ++- include/linux/file.h | 15 --- include/linux/tagptr.h | 110 + 3 files changed, 133 insertions(+), 16

[WIP] [NOMERGE] [RFC PATCH v0.3 4/6] erofs: add erofs_allocpage

2018-06-30 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/internal.h | 3 +++ fs/erofs/utils.c| 31 +++ 2 files changed, 34 insertions(+) create mode 100644 fs/erofs/utils.c diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h index d327de2..6d9a927 100644 --- a/fs/erofs

[WIP] [NOMERGE] [RFC PATCH v0.3 6/6] erofs: introduce VLE decompression subsystem

2018-06-30 Thread Gao Xiang
Signed-off-by: Gao Xiang --- 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 Todo list: - spilt into more understandable patches - add missing functions

[WIP] [NOMERGE] [RFC PATCH v0.3 5/6] erofs: globalize prepare_bio and __submit_bio

2018-06-30 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/data.c | 41 + fs/erofs/internal.h | 41 + 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/fs/erofs/data.c b/fs/erofs/data.c index 9b30095..45ad829 100644

[PATCH v4] erofs: introduce error injection infrastructure

2018-06-30 Thread Gao Xiang
: Gao Xiang Signed-off-by: Chao Yu --- v4 Gao Xiang : - avoid the global variable 'fault_name' to pollute symbol space. Reported-by: kbuild test robot v3: - code rebase. v2: - add missing Kconfig entry. - fix double prefix 'erofs:' in erofs_show_injection_info macro. fs/e

Re: [WIP] [NOMERGE] [RFC PATCH v0.3 3/6] erofs: introduce erofs_map_blocks_iter

2018-07-01 Thread Gao Xiang
fix to handle return value of erofs_init_page_bundle() correctly" and then apply the new patchset just as you said, or 2) Introduce a new 'dev-test' branch as Jaegeuk Kim's branch. Boths for me are ok. :) Thanks, Gao Xiang

Re: [WIP] [NOMERGE] [RFC PATCH v0.3 3/6] erofs: introduce erofs_map_blocks_iter

2018-07-01 Thread Gao Xiang
Hi Chao, On 2018/7/2 11:36, Chao Yu wrote: > We can do both of them, let's treat erofs branch as master branch, and we can > split erofs-dev branch (dev-test will not be so obvious to indicate that > branch > is belong to erofs, so let's use erofs-dev) from erofs branch for further > development.

Re: [WIP] [NOMERGE] [RFC PATCH v0.3 3/6] erofs: introduce erofs_map_blocks_iter

2018-07-02 Thread Gao Xiang
rom this > week. No rush :) I can also take some part of backport work. Besides, some paper work are in queue as well... Let's finish them and then release v2 patchset to the linux mailing list. Thanks, Gao Xiang

[WIP] [NOMERGE] [RFC PATCH v0.4 1/7] : Introduce tagged pointer

2018-07-02 Thread Gao Xiang
-ker...@vger.kernel.org Signed-off-by: Gao Xiang --- fs/file.c | 24 ++- include/linux/file.h | 15 --- include/linux/tagptr.h | 110 + 3 files changed, 133 insertions(+), 16 deletions(-) create mode 100644 include/linux

[WIP] [NOMERGE] [RFC PATCH v0.4 0/7] erofs: introduce the new unzip subsystem

2018-07-02 Thread Gao Xiang
into more understandable patches - add missing functions and bugfix The patchset is temporarily based on [RFC PATCH RESEND 11/12] erofs: introduce a customized LZ4 decompression The new unzip system is still _buggy_, not for _daily_ use! Gao Xiang (7): : Introduce tagged pointer erofs

[WIP] [NOMERGE] [RFC PATCH v0.4 2/7] erofs: introduce pagevec for unzip subsystem

2018-07-02 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/unzip_pagevec.h | 172 +++ 1 file changed, 172 insertions(+) create mode 100644 fs/erofs/unzip_pagevec.h diff --git a/fs/erofs/unzip_pagevec.h b/fs/erofs/unzip_pagevec.h new file mode 100644 index 000

[WIP] [NOMERGE] [RFC PATCH v0.4 3/7] erofs: add erofs_map_blocks_iter

2018-07-02 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 8 ++ fs/erofs/Makefile| 1 + fs/erofs/internal.h | 4 + fs/erofs/unzip_vle.c | 231 +++ 4 files changed, 244 insertions(+) create mode 100644 fs/erofs/unzip_vle.c diff --git a/fs

[WIP] [NOMERGE] [RFC PATCH v0.4 4/7] erofs: add erofs_allocpage

2018-07-02 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Makefile | 2 +- fs/erofs/internal.h | 3 +++ fs/erofs/staging.h | 4 fs/erofs/utils.c| 31 +++ 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 fs/erofs/utils.c diff --git a/fs/erofs/Makefile b

[WIP] [NOMERGE] [RFC PATCH v0.4 5/7] erofs: globalize prepare_bio and __submit_bio

2018-07-02 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/data.c | 41 + fs/erofs/internal.h | 41 + 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/fs/erofs/data.c b/fs/erofs/data.c index 9b30095..45ad829 100644

[WIP] [NOMERGE] [RFC PATCH v0.4 6/7] erofs: add a generic z_erofs VLE decompressor

2018-07-02 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 15 + fs/erofs/Makefile| 2 +- fs/erofs/internal.h | 5 ++ fs/erofs/unzip_vle.h | 34 +++ fs/erofs/unzip_vle_lz4.c | 145 +++ 5 files changed, 200 insertions

[WIP] [NOMERGE] [RFC PATCH v0.4 7/7] erofs: introduce VLE decompression subsystem

2018-07-02 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/inode.c | 6 +- fs/erofs/internal.h | 24 ++ fs/erofs/staging.h | 38 +++ fs/erofs/super.c | 36 +- fs/erofs/unzip_vle.c | 947 ++- fs/erofs/unzip_vle.h | 202 +++ 6 files changed, 1248

Re: [PATCH 08/11] erofs: support special inode

2018-07-02 Thread Gao Xiang
} else if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) { > + inode->i_rdev = > + new_decode_dev(le32_to_cpu(v1->i_u.rdev)); > + } else if (S_ISFIFO(inode->i_mode) || S_ISSOCK(inode->

Re: [chao-linux:erofs-dev 24/33] fs/erofs/unzip_vle.c:651:1-7: preceding lock on line 509

2018-07-02 Thread Gao Xiang
le makes automatic testing confused, I could use alternative way to replace it in the next version. Thanks for your caring and report. :) Thanks, Gao Xiang > julia > > On Tue, 3 Jul 2018, kbuild test robot wrote: > >> >> tree: https://git.kern

Re: [chao-linux:erofs-dev 24/33] fs/erofs/unzip_vle.c:651:1-7: preceding lock on line 509

2018-07-03 Thread Gao Xiang
Hi Julia, On 2018/7/3 15:13, Julia Lawall wrote: > > On Tue, 3 Jul 2018, Gao Xiang wrote: > >> Hi Julia, >> >> On 2018/7/3 13:27, Julia Lawall wrote: >>> Hello, >>> >>> There is not actually a bug here, but I wonder if the backwards goto in

Re: [PATCH 11/11] erofs: support tracepoint

2018-07-03 Thread Gao Xiang
*page = list_entry(pages->prev, struct page, lru); minor, how about remove the in-loop 'page' defination? Reviewed-by: Gao Xiang Thanks, Gao Xiang > diff --git a/fs/erofs/namei.c b/fs/erofs/namei.c > index e30294b279d1..b701d9ba52a6 100644 > --- a/fs/erofs/namei.c > +++ b/fs/erofs/namei.c

Re: [PATCH 11/11] erofs: support tracepoint

2018-07-03 Thread Gao Xiang
On 2018/7/3 21:52, Chao Yu wrote: > Hi Xiang, > > On 2018/7/3 17:44, Gao Xiang wrote: >> Hi Chao, >> >> On 2018/6/22 10:01, Chao Yu wrote: >>> Add tracepoints for ->readpage{,s}, ->lookup. >>> >>> Signed-off-by: Chao Yu

[WIP] [NOMERGE] [RFC PATCH v0.4 RESEND 0/7] erofs: introduce the new unzip subsystem

2018-07-03 Thread Gao Xiang
is temporarily based on Revert "erofs: introduce VLE decompression support (experimental)" The new unzip system is still _buggy_, not for _daily_ use! Gao Xiang (7): : Introduce tagged pointer erofs: introduce pagevec for unzip subsystem erofs: add erofs_map_blocks_iter

[WIP] [NOMERGE] [RFC PATCH v0.4 0/7] erofs: introduce the new unzip subsystem

2018-07-03 Thread Gao Xiang
is temporarily based on Revert "erofs: introduce VLE decompression support (experimental)" The new unzip system is still _buggy_, not for _daily_ use! Gao Xiang (7): : Introduce tagged pointer erofs: introduce pagevec for unzip subsystem erofs: add erofs_map_blocks_iter

[WIP] [NOMERGE] [RFC PATCH RESEND v0.4 1/7] : Introduce tagged pointer

2018-07-03 Thread Gao Xiang
allocation. Link: https://en.wikipedia.org/wiki/Tagged_pointer Signed-off-by: Gao Xiang --- fs/file.c | 24 ++- include/linux/file.h | 15 --- include/linux/tagptr.h | 110 + 3 files changed, 133 insertions(+), 16

[WIP] [NOMERGE] [RFC PATCH RESEND v0.4 7/7] erofs: introduce VLE decompression subsystem

2018-07-03 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/inode.c | 6 +- fs/erofs/internal.h | 24 ++ fs/erofs/staging.h | 38 ++ fs/erofs/super.c | 36 +- fs/erofs/unzip_vle.c | 958 ++- fs/erofs/unzip_vle.h | 202 +++ 6 files changed, 1259

[WIP] [NOMERGE] [RFC PATCH RESEND v0.4 4/7] erofs: add erofs_allocpage

2018-07-03 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Makefile | 2 +- fs/erofs/internal.h | 3 +++ fs/erofs/staging.h | 4 fs/erofs/utils.c| 31 +++ 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 fs/erofs/utils.c diff --git a/fs/erofs/Makefile b

[WIP] [NOMERGE] [RFC PATCH RESEND v0.4 5/7] erofs: globalize prepare_bio and __submit_bio

2018-07-03 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/data.c | 41 + fs/erofs/internal.h | 41 + 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/fs/erofs/data.c b/fs/erofs/data.c index b2a4d37..cebc097 100644

[WIP] [NOMERGE] [RFC PATCH RESEND v0.4 6/7] erofs: add a generic z_erofs VLE decompressor

2018-07-03 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 14 + fs/erofs/Makefile| 2 +- fs/erofs/internal.h | 5 ++ fs/erofs/unzip_vle.h | 34 +++ fs/erofs/unzip_vle_lz4.c | 145 +++ 5 files changed, 199 insertions

[WIP] [NOMERGE] [RFC PATCH RESEND v0.4 3/7] erofs: add erofs_map_blocks_iter

2018-07-03 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 10 +++ fs/erofs/Makefile| 1 + fs/erofs/internal.h | 4 + fs/erofs/unzip_vle.c | 231 +++ 4 files changed, 246 insertions(+) create mode 100644 fs/erofs/unzip_vle.c diff --git a/fs

[WIP] [NOMERGE] [RFC PATCH RESEND v0.4 2/7] erofs: introduce pagevec for unzip subsystem

2018-07-03 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/unzip_pagevec.h | 172 +++ 1 file changed, 172 insertions(+) create mode 100644 fs/erofs/unzip_pagevec.h diff --git a/fs/erofs/unzip_pagevec.h b/fs/erofs/unzip_pagevec.h new file mode 100644 index 000

[PATCH] erofs: fix erofs_module_init & exit

2018-07-04 Thread Gao Xiang
This patch adds missing parts and EROFS ondisk layout check as well. Signed-off-by: Gao Xiang --- fs/erofs/erofs_fs.h | 13 + fs/erofs/super.c| 28 +--- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/fs/erofs/erofs_fs.h b/fs/erofs

[WIP] [NOMERGE] [RFC PATCH v0.5 00/10] erofs: introduce the new unzip subsystem

2018-07-05 Thread Gao Xiang
understandable patches - add missing functions and bugfix The patchset is temporarily based on "erofs: fix erofs_module_init & exit" The new unzip system is still _buggy_, not for _daily_ use! Gao Xiang (10): : Introduce tagged pointer erofs: introduce pagevec for unzip subsyste

[WIP] [NOMERGE] [RFC PATCH v0.5 01/10] : Introduce tagged pointer

2018-07-05 Thread Gao Xiang
allocation. Link: https://en.wikipedia.org/wiki/Tagged_pointer Signed-off-by: Gao Xiang --- fs/file.c | 24 ++- include/linux/file.h | 15 --- include/linux/tagptr.h | 110 + 3 files changed, 133 insertions(+), 16

[WIP] [NOMERGE] [RFC PATCH v0.5 02/10] erofs: introduce pagevec for unzip subsystem

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/unzip_pagevec.h | 172 +++ 1 file changed, 172 insertions(+) create mode 100644 fs/erofs/unzip_pagevec.h diff --git a/fs/erofs/unzip_pagevec.h b/fs/erofs/unzip_pagevec.h new file mode 100644 index 000

[WIP] [NOMERGE] [RFC PATCH v0.5 03/10] erofs: add erofs_map_blocks_iter

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 10 +++ fs/erofs/Makefile| 1 + fs/erofs/internal.h | 4 + fs/erofs/unzip_vle.c | 231 +++ 4 files changed, 246 insertions(+) create mode 100644 fs/erofs/unzip_vle.c diff --git a/fs

[WIP] [NOMERGE] [RFC PATCH v0.5 04/10] erofs: add erofs_allocpage

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Makefile | 2 +- fs/erofs/internal.h | 3 +++ fs/erofs/staging.h | 4 fs/erofs/utils.c| 31 +++ 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 fs/erofs/utils.c diff --git a/fs/erofs/Makefile b

[WIP] [NOMERGE] [RFC PATCH v0.5 05/10] erofs: globalize prepare_bio and __submit_bio

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/data.c | 41 + fs/erofs/internal.h | 41 + 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/fs/erofs/data.c b/fs/erofs/data.c index de99217..2efe69f 100644

[WIP] [NOMERGE] [RFC PATCH v0.5 07/10] erofs: introduce superblock registration

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/internal.h | 6 ++ fs/erofs/super.c| 4 fs/erofs/utils.c| 17 + 3 files changed, 27 insertions(+) diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h index 038d77b..cc898b4 100644 --- a/fs/erofs/internal.h +++ b/fs

[WIP] [NOMERGE] [RFC PATCH v0.5 06/10] erofs: add a generic z_erofs VLE decompressor

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 14 + fs/erofs/Makefile| 2 +- fs/erofs/internal.h | 5 ++ fs/erofs/unzip_vle.h | 34 +++ fs/erofs/unzip_vle_lz4.c | 146 +++ 5 files changed, 200 insertions

[WIP] [NOMERGE] [RFC PATCH v0.5 08/10] erofs: introduce erofs shrinker

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/internal.h | 7 + fs/erofs/super.c| 15 ++ fs/erofs/utils.c| 79 + 3 files changed, 96 insertions(+), 5 deletions(-) diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h index

[WIP] [NOMERGE] [RFC PATCH v0.5 10/10] erofs: introduce VLE decompression support

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/inode.c | 6 +- fs/erofs/internal.h | 7 + fs/erofs/staging.h | 38 ++ fs/erofs/super.c | 26 ++ fs/erofs/unzip_vle.c | 971 ++- fs/erofs/unzip_vle.h | 194 ++ fs/erofs/utils.c

[WIP] [NOMERGE] [RFC PATCH v0.5 09/10] erofs: introduce workstation for decompression

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/internal.h | 60 fs/erofs/super.c| 12 + fs/erofs/utils.c| 71 + 3 files changed, 143 insertions(+) diff --git a/fs/erofs/internal.h b/fs/erofs

[WIP] [NOMERGE] [RFC PATCH v0.5 RESEND 08/10] erofs: introduce erofs shrinker

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- change log v0.5 RESEND: - add the missing mutex_init(&sbi->umount_mutex); fs/erofs/internal.h | 7 + fs/erofs/super.c| 15 ++ fs/erofs/utils.c| 85 + 3 files changed, 101 insertion

[WIP] [NOMERGE] [RFC PATCH v0.5 RESEND 10/10] erofs: introduce VLE decompression support

2018-07-05 Thread Gao Xiang
Signed-off-by: Gao Xiang --- change log v0.5 RESEND: - fix erofs_global_shrink_cnt fs/erofs/inode.c | 6 +- fs/erofs/internal.h | 7 + fs/erofs/staging.h | 38 ++ fs/erofs/super.c | 26 ++ fs/erofs/unzip_vle.c | 971 ++- fs/erofs

Re: [PATCH] erofs: fix erofs_module_init & exit

2018-07-05 Thread Gao Xiang
Hi Chao, On 2018/7/6 0:19, Chao Yu wrote: > Hi Xiang, > > On 2018/7/5 13:03, Gao Xiang wrote: >> This patch adds missing parts and EROFS ondisk >> layout check as well. >> >> Signed-off-by: Gao Xiang >> --- >> fs/erofs/erofs_fs.h |

Re: [PATCH] erofs: fix erofs_module_init & exit

2018-07-05 Thread Gao Xiang
Hi Chao, On 2018/7/6 9:30, Chao Yu wrote: > Hi Xiang, > > On 2018/7/6 0:39, Gao Xiang wrote: >> Hi Chao, >> >> On 2018/7/6 0:19, Chao Yu wrote: >>> Hi Xiang, >>> >>> On 2018/7/5 13:03, Gao Xiang wrote: >>>> This p

[PATCH v2] erofs: fix erofs_module_init & exit

2018-07-06 Thread Gao Xiang
This patch adds missing parts and EROFS ondisk layout check as well. Reviewed-by: Chao Yu Signed-off-by: Gao Xiang --- change log v2: - erofs_check_ondisk_layout => erofs_check_ondisk_layout_definitions fs/erofs/erofs_fs.h | 13 + fs/erofs/super.c|

Re: [PATCH] erofs: fix erofs_module_init & exit

2018-07-06 Thread Gao Xiang
Hi Chao, On 2018/7/6 10:09, Gao Xiang wrote: >> Alright, it's trivial, let's keep the code as original state. :) >> >> Reviewed-by: Chao Yu >> > :), Thanks for the review~ > > It seems that 'erofs_check_ondisk_layout_definations' is more prop

[WIP] [NOMERGE] [RFC PATCH v0.6 01/10] : Introduce tagged pointer

2018-07-06 Thread Gao Xiang
allocation. Link: https://en.wikipedia.org/wiki/Tagged_pointer Signed-off-by: Gao Xiang --- fs/file.c | 24 ++- include/linux/file.h | 15 --- include/linux/tagptr.h | 110 + 3 files changed, 133 insertions(+), 16

[WIP] [NOMERGE] [RFC PATCH v0.6 00/10] erofs: introduce the new unzip subsystem

2018-07-06 Thread Gao Xiang
recent introduced tagptr_t type to manage tagged pointers. - bugfix The patchset is temporarily based on "erofs: fix erofs_module_init & exit" The new unzip system is still _buggy_, not for _daily_ use! Gao Xiang (10): : Introduce tagged pointer erofs: introduce pagevec for u

[WIP] [NOMERGE] [RFC PATCH v0.6 03/10] erofs: add erofs_map_blocks_iter

2018-07-06 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 10 +++ fs/erofs/Makefile| 1 + fs/erofs/internal.h | 4 + fs/erofs/unzip_vle.c | 236 +++ 4 files changed, 251 insertions(+) create mode 100644 fs/erofs/unzip_vle.c diff --git a/fs

[WIP] [NOMERGE] [RFC PATCH v0.6 02/10] erofs: introduce pagevec for unzip subsystem

2018-07-06 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/unzip_pagevec.h | 172 +++ 1 file changed, 172 insertions(+) create mode 100644 fs/erofs/unzip_pagevec.h diff --git a/fs/erofs/unzip_pagevec.h b/fs/erofs/unzip_pagevec.h new file mode 100644 index 000

[WIP] [NOMERGE] [RFC PATCH v0.6 04/10] erofs: add erofs_allocpage

2018-07-06 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Makefile | 2 +- fs/erofs/internal.h | 3 +++ fs/erofs/staging.h | 4 fs/erofs/utils.c| 31 +++ 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 fs/erofs/utils.c diff --git a/fs/erofs/Makefile b

[WIP] [NOMERGE] [RFC PATCH v0.6 05/10] erofs: globalize prepare_bio and __submit_bio

2018-07-06 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/data.c | 41 + fs/erofs/internal.h | 41 + 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/fs/erofs/data.c b/fs/erofs/data.c index de99217..2efe69f 100644

[WIP] [NOMERGE] [RFC PATCH v0.6 06/10] erofs: add a generic z_erofs VLE decompressor

2018-07-06 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 14 + fs/erofs/Makefile| 2 +- fs/erofs/internal.h | 5 ++ fs/erofs/unzip_vle.h | 34 +++ fs/erofs/unzip_vle_lz4.c | 156 +++ 5 files changed, 210 insertions

[WIP] [NOMERGE] [RFC PATCH v0.6 07/10] erofs: introduce superblock registration

2018-07-06 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/internal.h | 6 ++ fs/erofs/super.c| 4 fs/erofs/utils.c| 17 + 3 files changed, 27 insertions(+) diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h index 038d77b..cc898b4 100644 --- a/fs/erofs/internal.h +++ b/fs

[WIP] [NOMERGE] [RFC PATCH v0.6 08/10] erofs: introduce erofs shrinker

2018-07-06 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/internal.h | 7 + fs/erofs/super.c| 15 ++ fs/erofs/utils.c| 85 + 3 files changed, 101 insertions(+), 6 deletions(-) diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h index

[WIP] [NOMERGE] [RFC PATCH v0.6 09/10] erofs: introduce workstation for decompression

2018-07-06 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/internal.h | 60 fs/erofs/super.c| 12 + fs/erofs/utils.c| 71 + 3 files changed, 143 insertions(+) diff --git a/fs/erofs/internal.h b/fs/erofs

[WIP] [NOMERGE] [RFC PATCH v0.6 10/10] erofs: introduce VLE decompression support

2018-07-06 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/inode.c | 6 +- fs/erofs/internal.h | 7 + fs/erofs/staging.h | 38 ++ fs/erofs/super.c | 26 ++ fs/erofs/unzip_vle.c | 982 ++- fs/erofs/unzip_vle.h | 194 ++ fs/erofs/utils.c

[PATCH] erofs: fix match_table with a NULL terminated pattern

2018-07-09 Thread Gao Xiang
Without a NULL terminated pattern, it could cause memory access violation. Signed-off-by: Gao Xiang --- fs/erofs/super.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/erofs/super.c b/fs/erofs/super.c index 0dcf9c7..de8ee81 100644 --- a/fs/erofs/super.c +++ b/fs/erofs

[WIP] [NOMERGE] [RFC PATCH v0.7 00/10] erofs: introduce the new unzip subsystem

2018-07-09 Thread Gao Xiang
temporarily based on "erofs: fix erofs_module_init & exit" Gao Xiang (10): : 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 gener

[WIP] [NOMERGE] [RFC PATCH v0.7 01/10] : Introduce tagged pointer

2018-07-09 Thread Gao Xiang
allocation. Link: https://en.wikipedia.org/wiki/Tagged_pointer Signed-off-by: Gao Xiang --- fs/file.c | 24 ++- include/linux/file.h | 15 --- include/linux/tagptr.h | 110 + 3 files changed, 133 insertions(+), 16

[WIP] [NOMERGE] [RFC PATCH v0.7 02/10] erofs: introduce pagevec for unzip subsystem

2018-07-09 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/unzip_pagevec.h | 172 +++ 1 file changed, 172 insertions(+) create mode 100644 fs/erofs/unzip_pagevec.h diff --git a/fs/erofs/unzip_pagevec.h b/fs/erofs/unzip_pagevec.h new file mode 100644 index 000

[WIP] [NOMERGE] [RFC PATCH v0.7 04/10] erofs: add erofs_allocpage

2018-07-09 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Makefile | 2 +- fs/erofs/internal.h | 3 +++ fs/erofs/staging.h | 4 fs/erofs/utils.c| 31 +++ 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 fs/erofs/utils.c diff --git a/fs/erofs/Makefile b

[WIP] [NOMERGE] [RFC PATCH v0.7 03/10] erofs: add erofs_map_blocks_iter

2018-07-09 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 10 +++ fs/erofs/Makefile| 1 + fs/erofs/internal.h | 4 + fs/erofs/unzip_vle.c | 236 +++ 4 files changed, 251 insertions(+) create mode 100644 fs/erofs/unzip_vle.c diff --git a/fs

[WIP] [NOMERGE] [RFC PATCH v0.7 05/10] erofs: globalize prepare_bio and __submit_bio

2018-07-09 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/data.c | 41 + fs/erofs/internal.h | 41 + 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/fs/erofs/data.c b/fs/erofs/data.c index de99217..2efe69f 100644

[WIP] [NOMERGE] [RFC PATCH v0.7 06/10] erofs: add a generic z_erofs VLE decompressor

2018-07-09 Thread Gao Xiang
Signed-off-by: Gao Xiang --- fs/erofs/Kconfig | 14 fs/erofs/Makefile| 2 +- fs/erofs/internal.h | 5 ++ fs/erofs/unzip_vle.h | 35 fs/erofs/unzip_vle_lz4.c | 209 +++ 5 files changed, 264 insertions(+), 1

  1   2   3   4   5   6   7   8   9   10   >