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

2018-07-02 Thread Gao Xiang
hem from 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

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) >>

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

2018-07-01 Thread Gao Xiang
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 >

[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

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

[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 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 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

[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

[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.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 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 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 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

[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
e 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 operations

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

2018-06-21 Thread Gao Xiang
-by: 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 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/xattr.c

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

2018-06-21 Thread Gao Xiang
://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 +++ fs/ero

[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 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] [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 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] 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 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

Re: [PATCH 00/25] staging: erofs: introduce erofs file system

2018-07-28 Thread Gao Xiang
On 2018/7/28 15:25, Greg Kroah-Hartman wrote: > Thanks for submitting this, the filesystem looks very interesting. I've > queued it all up now in the staging-next tree. Thanks for applying, we are continuously optimizing further and hope to attract more fs guys :) Thanks, Gao Xiang

[PATCH] staging: erofs: fix a compile warning of Z_EROFS_VLE_VMAP_ONSTACK_PAGES

2018-07-28 Thread Gao Xiang
There is a type mismatch in the definition of Z_EROFS_VLE_VMAP_ONSTACK_PAGES, let's fix it. Link: https://lists.01.org/pipermail/kbuild-all/2018-July/050707.html Reported-by: kbuild test robot Signed-off-by: Gao Xiang --- drivers/staging/erofs/unzip_vle.h | 2 +- 1 file changed, 1 insertion

Re: [PATCH v3] staging: erofs: disable compiling temporarile

2018-08-02 Thread Gao Xiang
Hi Greg, On 2018/8/3 1:33, Greg KH wrote: > Sorry, I already took the first version in my tree. Don't worry about > it for now you can fix this up after 4.19-rc1 is out when we enable the > filesystem again. > OK, We will fix it and enable erofs after 4.19-rc1 is out. :) Thank

Re: [FOR INTERNAL REVIEW] [PATCH 3/4] staging: erofs: remove RADIX_TREE_EXCEPTIONAL_{ENTRY,SHIFT}

2018-07-30 Thread Gao Xiang
Hi Matthew, On 2018/7/30 21:19, Matthew Wilcox wrote: > > This review looks pretty external now ... > :-'( Internal means currently in the linux-erofs mailing list for preview. I haven't sent to the linux-kernel mailing list yet.. > On Mon, Jul 30, 2018 at 05:18:30PM +0800, Gao

Re: [PATCH 1/2] staging: erofs: fix compile error without built-in decompression support

2018-07-29 Thread Gao Xiang
Hi Chao, On 2018/7/30 10:07, Chao Yu wrote: > On 2018/7/29 13:34, Gao Xiang via Linux-erofs wrote: >> This patch fixes incorrect code snippets due to spilt code >> into small patches by mistake. >> >> Link: https://lists.01.org/pipermail/kbuild-all/2018-July/050747.htm

[FOR INTERNAL REVIEW] [PATCH RESEND 2/3] staging: erofs: add 'erofs_' prefixes for try_to_free_(all_)cached_page(s)

2018-07-29 Thread Gao Xiang
From: Gao Xiang This patch also fixes out-of-date code snippets due to spilt code into small patches by mistake. Signed-off-by: Gao Xiang --- RESEND: - spilt into two patches according to Chao's suggestion drivers/staging/erofs/internal.h | 4 ++-- drivers/staging/erofs/super.c | 2

[FOR INTERNAL REVIEW] [PATCH RESEND 1/3] staging: erofs: fix incorrect code in erofs_shrink_scan

2018-07-29 Thread Gao Xiang
From: Gao Xiang This patch actually fixes incorrect code snippets due to spilt code into small patches by mistake, which can cause a compile error without built-in decompression support and potential abnormal runtime shrinking. Link: https://lists.01.org/pipermail/kbuild-all/2018-July/050747

[RFC PATCH v2 RESEND 15/25] staging: erofs: add erofs_map_blocks_iter

2018-07-25 Thread Gao Xiang
This patch introduces an iterable L2P mapping operation 'erofs_map_blocks_iter'. Compared with 'erofs_map_blocks', it avoids a number of redundant 'release and regrab' processes if they request the same meta page. Signed-off-by: Gao Xiang --- v2 RESEND: - fix undefined reference to `__udivmoddi4

[RFC PATCH v2 RESEND 18/25] staging: erofs: introduce a customized LZ4 decompression

2018-07-25 Thread Gao Xiang
pleted. Link: 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: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- drivers/staging/ero

[PATCH 01/25] staging: erofs: add on-disk layout

2018-07-26 Thread Gao Xiang
-by: Gao Xiang --- drivers/staging/erofs/erofs_fs.h | 266 +++ 1 file changed, 266 insertions(+) create mode 100644 drivers/staging/erofs/erofs_fs.h diff --git a/drivers/staging/erofs/erofs_fs.h b/drivers/staging/erofs/erofs_fs.h new file mode 100644 index 000

[PATCH 00/25] staging: erofs: introduce erofs file system

2018-07-26 Thread Gao Xiang
ure staging: erofs: support tracepoint Gao Xiang (22): staging: erofs: add on-disk layout staging: erofs: add erofs in-memory stuffs staging: erofs: add super block operations staging: erofs: add raw address_space operations staging: erofs: add inode operations staging: erofs: add direct

[PATCH 20/25] staging: erofs: introduce superblock registration

2018-07-26 Thread Gao Xiang
In order to introducing shrinker solution for erofs, let's manage all mounted erofs instances at first. Signed-off-by: Gao Xiang --- drivers/staging/erofs/internal.h | 6 ++ drivers/staging/erofs/super.c| 4 drivers/staging/erofs/utils.c| 17 + 3 files changed

[PATCH 17/25] staging: erofs: globalize prepare_bio and __submit_bio

2018-07-26 Thread Gao Xiang
The unzip subsystem also uses these functions, let's export them to internal.h. Signed-off-by: Gao Xiang --- drivers/staging/erofs/data.c | 34 +- drivers/staging/erofs/internal.h | 33 + 2 files changed, 42 insertions(+), 25

[PATCH 21/25] staging: erofs: introduce erofs shrinker

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

[PATCH 23/25] staging: erofs: introduce VLE decompression support

2018-07-26 Thread Gao Xiang
sed independently, which ensures random read number for all use cases. Signed-off-by: Gao Xiang --- drivers/staging/erofs/inode.c |5 + drivers/staging/erofs/internal.h |6 + drivers/staging/erofs/super.c | 25 + drivers/staging/erofs/unzip_vle.c | 1119

[PATCH 09/25] staging: erofs: introduce xattr & acl support

2018-07-26 Thread Gao Xiang
will be used instead. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- drivers/staging/erofs/Kconfig| 37 +++ drivers/staging/erofs/Makefile | 1 + drivers/staging/erofs/inode.c| 33 ++- drivers/staging/erofs/internal.h | 22 ++ drivers/staging/erofs

[PATCH 10/25] staging: erofs: support special inode

2018-07-26 Thread Gao Xiang
From: Chao Yu This patch adds to support special inode, such as block dev, char, socket, pipe inode. Reviewed-by: Gao Xiang Signed-off-by: Chao Yu --- drivers/staging/erofs/inode.c| 36 ++-- drivers/staging/erofs/internal.h | 1 + 2 files changed, 35

[PATCH 24/25] staging: erofs: introduce cached decompression

2018-07-26 Thread Gao Xiang
This patch adds an optional choice which can be enabled by users in order to cache both incomplete ends of compressed clusters as a complement to the in-place decompression in order to boost random read, but it costs more memory than the in-place decompression only. Signed-off-by: Gao Xiang

[PATCH 15/25] staging: erofs: add erofs_map_blocks_iter

2018-07-26 Thread Gao Xiang
This patch introduces an iterable L2P mapping operation 'erofs_map_blocks_iter'. Compared with 'erofs_map_blocks', it avoids a number of redundant 'release and regrab' processes if they request the same meta page. Signed-off-by: Gao Xiang --- drivers/staging/erofs/Kconfig | 10 ++ drivers

[PATCH 13/25] staging: erofs: : introduce tagged pointer

2018-07-26 Thread Gao Xiang
allocation. Link: https://en.wikipedia.org/wiki/Tagged_pointer Signed-off-by: Gao Xiang --- drivers/staging/erofs/include/linux/tagptr.h | 110 +++ 1 file changed, 110 insertions(+) create mode 100644 drivers/staging/erofs/include/linux/tagptr.h diff --git a/drivers

[PATCH 12/25] staging: erofs: support tracepoint

2018-07-26 Thread Gao Xiang
From: Chao Yu Add basic tracepoints for ->readpage{,s}, ->lookup, ->destroy_inode, fill_inode and map_blocks. Reviewed-by: Gao Xiang Signed-off-by: Chao Yu --- drivers/staging/erofs/data.c | 13 +- drivers/staging/erofs/include/trace/events/erof

[PATCH 11/25] staging: erofs: introduce error injection infrastructure

2018-07-26 Thread Gao Xiang
-by: Gao Xiang Signed-off-by: Chao Yu --- drivers/staging/erofs/Kconfig| 6 + drivers/staging/erofs/inode.c| 3 ++- drivers/staging/erofs/internal.h | 57 drivers/staging/erofs/super.c| 38 +++ 4 files changed, 103

[PATCH 08/25] staging: erofs: update Kconfig and Makefile

2018-07-26 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 --- drivers/staging/Kconfig| 2 ++ drivers/staging/Makefile | 1 + drivers/staging/erofs/Kconfig

[PATCH 04/25] staging: erofs: add raw address_space operations

2018-07-26 Thread Gao Xiang
This commit adds functions for meta and raw data, and also provides address_space_operations for raw data access. Signed-off-by: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- drivers/staging/erofs/data.c | 362 +++ 1 file changed, 362

[PATCH 03/25] staging: erofs: add super block operations

2018-07-26 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 --- drivers/staging/erofs/super.c | 415

[PATCH 02/25] staging: erofs: add erofs in-memory stuffs

2018-07-26 Thread Gao Xiang
Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- drivers/staging/erofs/internal.h | 281 +++ 1 file changed, 281 insertions(+) create mode 100644 drivers/staging/erofs/internal.h diff --git a/drivers/staging/erofs/internal.h b/drivers/staging/erofs/internal.h

[PATCH 07/25] staging: erofs: add namei functions

2018-07-26 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 --- drivers/staging/erofs/namei.c | 243 ++ 1 file changed, 243 insertions(+) create mode 100644 drivers/staging/erofs

[PATCH 06/25] staging: erofs: add directory operations

2018-07-26 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 --- drivers/staging/erofs/dir.c | 145 1 file changed, 145 insertions(+) create mode 100644 drivers/staging/erofs/dir.c

[PATCH 05/25] staging: erofs: add inode operations

2018-07-26 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 --- drivers/staging/erofs/inode.c | 210 ++ 1 file changed, 210 insertions(+) create mode 100644 drivers/staging/erofs/inode.c diff

[PATCH 19/25] staging: erofs: add a generic z_erofs VLE decompressor

2018-07-26 Thread Gao Xiang
Currently, this patch only simply implements LZ4 decompressor due to its development priority. In the future, erofs will support more compression algorithm and format other than LZ4, thus a generic decompressor interface will be needed. Signed-off-by: Gao Xiang --- drivers/staging/erofs

[PATCH 22/25] staging: erofs: introduce workstation for decompression

2018-07-26 Thread Gao Xiang
-off-by: Gao Xiang --- drivers/staging/erofs/internal.h | 93 drivers/staging/erofs/super.c| 9 drivers/staging/erofs/utils.c| 81 -- 3 files changed, 180 insertions(+), 3 deletions(-) diff --git a/drivers/staging

[PATCH 18/25] staging: erofs: introduce a customized LZ4 decompression

2018-07-26 Thread Gao Xiang
pleted. Link: 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: Miao Xie Signed-off-by: Chao Yu Signed-off-by: Gao Xiang --- drivers/staging/ero

[PATCH 14/25] staging: erofs: introduce pagevec for unzip subsystem

2018-07-26 Thread Gao Xiang
for booting the whole array itself up will be needed. Signed-off-by: Gao Xiang --- drivers/staging/erofs/unzip_pagevec.h | 172 ++ 1 file changed, 172 insertions(+) create mode 100644 drivers/staging/erofs/unzip_pagevec.h diff --git a/drivers/staging/erofs

[PREVIEW] [PATCH 2/4] staging: erofs: introduce erofs_grab_bio

2018-08-01 Thread Gao Xiang
this patch renames prepare_bio to erofs_grab_bio, and adds a nofail option in order to retry in the bio allocator. Reported-by: Stephen Rothwell Signed-off-by: Gao Xiang --- drivers/staging/erofs/data.c | 12 ++-- drivers/staging/erofs/internal.h | 35

[PREVIEW] [PATCH 1/4] staging: erofs: remove the unneeded marco in xattr submodule

2018-08-01 Thread Gao Xiang
There is no need to '#if CONFIG_EROFS_FS_XATTR' in xattr.c, let's remove it. Signed-off-by: Gao Xiang --- drivers/staging/erofs/xattr.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c index b74b314..6b9685f 100644 --- a/drivers

[PREVIEW] [PATCH 4/4] staging: erofs: add error handling for xattr submodule

2018-08-01 Thread Gao Xiang
This patch enhances the missing error handling code for xattr submodule, which improves the stability for the rare cases. Signed-off-by: Gao Xiang --- drivers/staging/erofs/xattr.c | 114 -- 1 file changed, 77 insertions(+), 37 deletions(-) diff --git

[PREVIEW] [PATCH 3/4] staging: erofs: seperate erofs_get_meta_page

2018-08-01 Thread Gao Xiang
This patch seperates 'erofs_get_meta_page' into 'erofs_get_meta_page' and 'erofs_get_meta_page_nofail'. The second one ensures it should not fail due to memory pressure. It also adds const variables in order to fulfill 80 character limit. Signed-off-by: Gao Xiang --- drivers/staging/erofs

[PATCH 1/2] staging: erofs: add the missing break in z_erofs_map_blocks_iter

2018-08-01 Thread Gao Xiang
This patch adds a missing break after adding the default case. Reviewed-by: Chao Yu Signed-off-by: Gao Xiang --- Hi Greg, There are two erofs bugfix & cleanup patches ready for staging-next upstream. The original preview thread: https://lists.ozlabs.org/pipermail/linux-erofs/2018-July/00

[PATCH 2/2] staging: erofs: remove a redundant marco in xattr

2018-08-01 Thread Gao Xiang
There is no need to '#if CONFIG_EROFS_FS_XATTR' in xattr.c, let's remove it. Reviewed-by: Chao Yu Signed-off-by: Gao Xiang --- drivers/staging/erofs/xattr.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/erofs/xattr.c b/drivers/staging/erofs/xattr.c index b74b314..6b9685f

[FOR PREVIEW] [PATCH] staging: erofs: remove an extra semicolon in z_erofs_vle_unzip_all

2018-08-01 Thread Gao Xiang
There is an extra semicolon in z_erofs_vle_unzip_all, remove it. Reported-by: Julia Lawall Signed-off-by: Gao Xiang --- drivers/staging/erofs/unzip_vle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/erofs/unzip_vle.c b/drivers/staging/erofs/unzip_vle.c

[PATCH RESEND 1/2] staging: erofs: add the missing break in z_erofs_map_blocks_iter

2018-08-01 Thread Gao Xiang
This patch adds a missing break after adding the default case. Reviewed-by: Chao Yu Signed-off-by: Gao Xiang --- As pointed out by Dan Carpenter: - fix the wrong place of fallthrough comments drivers/staging/erofs/unzip_vle.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers

Re: [FOR INTERNAL REVIEW] [PATCH 4/4] staging: erofs: update .mount and .remount_sb

2018-07-31 Thread Gao Xiang
vers/staging/erofs/super.c?h=erofs-dev https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/tree/drivers/staging/erofs/inode.c?h=erofs-dev It will be of great help...Thank you.. Thanks, Gao Xiang > Thanks, > > On 2018/7/30 17:18, Gao Xiang wrote: >> This patch updates .

Re: [PATCH 1/2] staging: erofs: fix compile error without built-in decompression support

2018-07-29 Thread Gao Xiang
no code changes, but the following patches will be upstreamed as we disscussed this morning...) And could you review '[PATCH] staging: erofs: use the wrapped PTR_ERR_OR_ZERO instead of open code' I just sent in the morning? Thanks, Gao Xiang

[FOR INTERNAL REVIEW] [PATCH 2/4] staging: erofs: fix superblock/inode flags (MS_RDONLY -> SB_RDONLY, S_NOATIME)

2018-07-30 Thread Gao Xiang
After commit 0a43a939c77e ("vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled"), there is no MS_RDONLY and MS_NOATIME at all. Reported-by: Stephen Rothwell Signed-off-by: Gao Xiang --- - Tested with images generated by mkfs.erofs: 1) mount and unmount opera

[FOR INTERNAL REVIEW] [PATCH 3/4] staging: erofs: remove RADIX_TREE_EXCEPTIONAL_{ENTRY, SHIFT}

2018-07-30 Thread Gao Xiang
Signed-off-by: Gao Xiang --- - Tested with images generated by mkfs.erofs: 1) mount and unmount operations 2) md5sum `find . -type f` drivers/staging/erofs/utils.c | 19 --- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/drivers/staging/erofs/utils.c b/drive

[FOR INTERNAL REVIEW] [PATCH 1/4] staging: erofs: add the missing break in z_erofs_map_blocks_iter

2018-07-30 Thread Gao Xiang
This patch adds a missing break after adding the default case. Signed-off-by: Gao Xiang --- - Tested with images generated by mkfs.erofs: 1) mount and unmount operations 2) md5sum `find . -type f` drivers/staging/erofs/unzip_vle.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions

[FOR INTERNAL REVIEW] [PATCH RESEND 4/4] staging: erofs: update .mount and .remount_sb

2018-07-30 Thread Gao Xiang
This patch updates .mount and .remount_sb after commit 286c6b145729 ("vfs: Require specification of size of mount data for internal mounts"). Reported-by: Stephen Rothwell Signed-off-by: Gao Xiang --- - Tested with images generated by mkfs.erofs: 1) mount and unmount operations

Re: [PATCH] drivers/staging: Remove some unneeded semicolon

2018-08-05 Thread Gao Xiang
Hi Chao, On 2018/8/6 9:58, Chao Yu wrote: > Hi Xiang, > > On 2018/8/6 9:27, Gao Xiang wrote: >> Hi Jiang, >> >> On 2018/8/5 21:57, zhong jiang wrote: >>> That semicolons are unneeded, JUst remove them. >>> >>> Signed-off-by: zhong jian

Re: [PATCH] drivers/staging: Remove some unneeded semicolon

2018-08-05 Thread Gao Xiang
On 2018/8/6 10:11, zhong jiang wrote: > On 2018/8/6 9:27, Gao Xiang wrote: >> Hi Jiang, >> >> On 2018/8/5 21:57, zhong jiang wrote: >>> That semicolons are unneeded, JUst remove them. >>> >>> Signed-off-by: zhong jiang >> Thanks for yo

[PREVIEW] [PATCH v2] staging: erofs: remove an extra semicolon in z_erofs_vle_unzip_all

2018-08-05 Thread Gao Xiang
There is an extra semicolon in z_erofs_vle_unzip_all, remove it. Reported-by: Julia Lawall Signed-off-by: zhong jiang Signed-off-by: Gao Xiang --- changelog v2: - zhong jiang also submits this fix, add 'Signed-off-by: zhong jiang ' drivers/staging/erofs/unzip_vle.c | 2 +- 1 file changed

[PATCH v3 04/10] staging: erofs: fix a missing endian conversion

2018-08-10 Thread Gao Xiang
This patch fixes a missing endian conversion in vle_get_logical_extent_head. Signed-off-by: Gao Xiang --- change log v3: - spilt into small patches at Chao's suggestion. drivers/staging/erofs/unzip_vle.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers

[PATCH v2 03/10] staging: erofs: fix vle_decompressed_index_clusterofs

2018-08-10 Thread Gao Xiang
This patch adds error handing code, and fixes a missing endian conversion in vle_decompressed_index_clusterofs. Signed-off-by: Gao Xiang --- change log v2: - change the commit message; - I personally think this patch is clear enough, therefore I don't spilt into more small patches

[PREVIEW] [PATCH v3 06/10] staging: erofs: fix compression mapping beyond EOF

2018-08-10 Thread Gao Xiang
Logical address of EOF LTP mapping should start at `inode->i_size' rather than `inode->i_size - 1' to `m_la(in) + 1 - inode->i_size', fix it. Signed-off-by: Gao Xiang --- change log v3: - spilt into small patches at Chao's suggestion. drivers/staging/erofs/unzip_vle.c | 2 +- 1 fil

[PREVIEW] [PATCH v2 10/10] staging: erofs: complete error handing of z_erofs_do_read_page

2018-08-10 Thread Gao Xiang
This patch completes error handing code of z_erofs_do_read_page. PG_error will be set when some read error happens, therefore z_erofs_onlinepage_endio will unlock this page without setting PG_uptodate. Signed-off-by: Gao Xiang --- change log v2: - spilt into small patches at Chao's suggestion

[PREVIEW] [PATCH v3 07/10] staging: erofs: clean up z_erofs_map_blocks_iter

2018-08-10 Thread Gao Xiang
in erofs compression ondisk format. Signed-off-by: Gao Xiang --- change log v3: - spilt into small patches at Chao's suggestion. drivers/staging/erofs/unzip_vle.c | 139 +- 1 file changed, 77 insertions(+), 62 deletions(-) diff --git a/drivers/staging/erofs

[PREVIEW] [PATCH v2 09/10] staging: erofs: fix a bug when appling cache strategy

2018-08-10 Thread Gao Xiang
to cache the last compressed pack. caching strategy should work properly after appling this patch. Signed-off-by: Gao Xiang --- change log v2: - spilt into small patches at Chao's suggestion. drivers/staging/erofs/unzip_vle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PREVIEW] [PATCH v3 08/10] staging: erofs: complete error handing of z_erofs_map_blocks_iter

2018-08-10 Thread Gao Xiang
This patch completes error handing of z_erofs_map_blocks_iter and vle_get_logical_extent_head, including no memory and io error cases. Signed-off-by: Gao Xiang --- change log v3: - spilt into small patches at Chao's suggestion. drivers/staging/erofs/unzip_vle.c | 35

[PREVIEW] [PATCH v3 3/3] staging: erofs: add error handling for xattr submodule

2018-08-10 Thread Gao Xiang
This patch enhances the missing error handling code for xattr submodule, which improves the stability for the rare cases. Signed-off-by: Gao Xiang --- change log v3: - avoid all nofail usage according to Chao's suggestion; - remove all 'unlikely' hints together with IS_ERR. drivers/staging

[WIP] [PATCH v2] staging: erofs: cleanup z_erofs_map_blocks_iter

2018-08-09 Thread Gao Xiang
This patch cleanups z_erofs_map_blocks_iter and vle_get_logical_extent_head, including adding error handing code and missing endian conversions. Signed-off-by: Gao Xiang --- change log v2: - fix lcn overflow issue on 32-bit platforms drivers/staging/erofs/unzip_vle.c | 146

[NOMERGE] [WIP] [PREVIEW] [PATCH 4/4] staging: erofs: fix race when the managed cache is enabled

2018-08-10 Thread Gao Xiang
When the managed cache is enabled, the last reference count of a workgroup should be used for its workstation. Otherwise, (un)freeze in the reclaim path will work improperly. Signed-off-by: Gao Xiang --- drivers/staging/erofs/utils.c | 57 +-- 1 file

[PREVIEW] [PATCH 2/4] staging: erofs: cached compressed pages could be relocked

2018-08-10 Thread Gao Xiang
in z_erofs_vle_unzip should be dropped. Signed-off-by: Gao Xiang --- drivers/staging/erofs/unzip_vle.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/erofs/unzip_vle.c b/drivers/staging/erofs/unzip_vle.c index 1d0ffa6..6e5c24d 100644 --- a/drivers/staging/erofs/unzip_vle.c +++ b/drivers

[PREVIEW] [PATCH 3/4] staging: erofs: fix refcount assertion in erofs_register_workgroup

2018-08-10 Thread Gao Xiang
Since the reference count of an erofs_workgroup is a signed atomic integer, fix a refcount assertion in erofs_register_workgroup. Signed-off-by: Gao Xiang --- drivers/staging/erofs/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/erofs/utils.c b

[PATCH RESEND 01/10] staging: erofs: cleanup z_erofs_vle_work_{lookup, register}

2018-08-10 Thread Gao Xiang
This patch introduces 'struct z_erofs_vle_work_finder' to clean up arguments of z_erofs_vle_work_lookup and z_erofs_vle_work_register. Reviewed-by: Chao Yu Signed-off-by: Gao Xiang --- RESEND: - add `Reviewed-by: Chao Yu ' - no logic change drivers/staging/erofs/unzip_vle.c | 89

Re: [PREVIEW] [PATCH RESEND staging-next 1/8] staging: erofs: introduce erofs_grab_bio

2018-08-14 Thread Gao Xiang
Hi Chao, Could you please review again these `[PREVIEW]' patches are OK... And could help send to staging mailing list and LKML when you are free... Thanks in advance... Thanks, Gao Xiang

Re: [PREVIEW] [PATCH RESEND staging-next 1/8] staging: erofs: introduce erofs_grab_bio

2018-08-14 Thread Gao Xiang
Hi Chao, (sorry about the email client...) Could you please review again these `[PREVIEW]' patches are OK... And could help send to staging mailing list and LKML when you are free... Thanks in advance... Thanks, Gao Xiang

  1   2   3   4   5   6   7   8   9   10   >