Add basic tracepoints for ->readpage{,s}, ->lookup,
->destroy_inode, fill_inode and map_blocks.
Signed-off-by: Gao Xiang
---
include/trace/events/erofs.h | 241 +++
1 file changed, 241 insertions(+)
create mode 100644 include/trace/events/erofs.h
dif
This commit adds Makefile and Kconfig for erofs, and
updates Makefile and Kconfig files in the fs directory.
Signed-off-by: Gao Xiang
---
fs/Kconfig| 1 +
fs/Makefile | 1 +
fs/erofs/Kconfig | 45 +
fs/erofs/Makefile | 9 +
4
This adds functions for directory, mainly readdir.
Signed-off-by: Gao Xiang
---
fs/erofs/dir.c | 147 +
1 file changed, 147 insertions(+)
create mode 100644 fs/erofs/dir.c
diff --git a/fs/erofs/dir.c b/fs/erofs/dir.c
new file mode 100644
index
lname: system.posix_acl_default
struct erofs_xattr_entry:
.e_name_len = 0
.e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT (3)
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig| 37 +++
fs/erofs/Makefile | 1 +
fs/erofs/inode.c| 14 +-
fs/erofs/internal.h | 16
://en.wikipedia.org/wiki/Tagged_pointer
Signed-off-by: Gao Xiang
---
fs/erofs/tagptr.h | 110 ++
1 file changed, 110 insertions(+)
create mode 100644 fs/erofs/tagptr.h
diff --git a/fs/erofs/tagptr.h b/fs/erofs/tagptr.h
new file mode 100644
index
This documents key features, usage, and
on-disk design of erofs.
Signed-off-by: Gao Xiang
---
Documentation/filesystems/erofs.txt | 211
1 file changed, 211 insertions(+)
create mode 100644 Documentation/filesystems/erofs.txt
diff --git a/Documentation/filesystems
This commit adds functions for meta and raw data, and also
provides address_space_operations for raw data access.
Signed-off-by: Gao Xiang
---
fs/erofs/data.c | 390
1 file changed, 390 insertions(+)
create mode 100644 fs/erofs/data.c
diff
This patch adds to support special inode, such as
block dev, char, socket, pipe inode.
Signed-off-by: Gao Xiang
---
fs/erofs/inode.c | 27 +--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
index 79ef5b38dfa3
This patch adds strategies which can be selected
by users in order to cache both incomplete ends of
compressed physical clusters as a complement of
in-place I/O in order to boost random read, but
it costs more memory than the in-place I/O only.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig
whole array itself up will be needed.
Signed-off-by: Gao Xiang
---
fs/erofs/zpvec.h | 159 +++
1 file changed, 159 insertions(+)
create mode 100644 fs/erofs/zpvec.h
diff --git a/fs/erofs/zpvec.h b/fs/erofs/zpvec.h
new file mode 100644
index
This patch introduces an temporary _on-stack_ page
pool to reuse the freed page directly as much as
it can for better performance and release all pages
at a time, it also slightly reduces the possibility of
the potential memory allocation failure.
Signed-off-by: Gao Xiang
---
fs/erofs
x27;s leave it as-is for now.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig| 14 ++
fs/erofs/internal.h | 24
fs/erofs/utils.c| 12
3 files changed, 50 insertions(+)
diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
index f6b6eb0
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: Gao Xiang
---
fs/erofs/super.c | 502 +++
1 file changed, 502 insertions
In order to introducing shrinker solution for erofs,
let's manage all mounted erofs instances at first.
Signed-off-by: Gao Xiang
---
fs/erofs/Makefile | 2 +-
fs/erofs/internal.h | 13 +
fs/erofs/super.c| 4
fs/erofs/utils.c| 32 ++
This commit adds the on-disk layout header file of erofs.
On-disk format is compatible with erofs-staging added in 4.19.
Signed-off-by: Gao Xiang
---
fs/erofs/erofs_fs.h | 317
1 file changed, 317 insertions(+)
create mode 100644 fs/erofs/erofs_fs.h
().
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h | 359
1 file changed, 359 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 ..03ce8420d20c
--- /dev/null
future.
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h | 83 ++
fs/erofs/super.c| 4 ++
fs/erofs/utils.c| 168 +++-
3 files changed, 253 insertions(+), 2 deletions(-)
diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
ind
bjects.
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h | 7
fs/erofs/super.c| 6 +++
fs/erofs/utils.c| 94 -
3 files changed, 106 insertions(+), 1 deletion(-)
diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
index 87287cd9c146..75e82f
d of course (see the following patches for test results).
[1] https://github.com/lz4/lz4/commit/b17f578a919b7e6b078cede2d52be29dd48c8e8c
https://github.com/lz4/lz4/commit/5997e139f53169fa3a1c1b4418d2452a90b01602
Signed-off-by: Gao Xiang
---
fs/erofs/decompre
This adds core functions to get, read an inode.
It adds statx support as well.
Signed-off-by: Gao Xiang
---
fs/erofs/inode.c | 291 +++
1 file changed, 291 insertions(+)
create mode 100644 fs/erofs/inode.c
diff --git a/fs/erofs/inode.c b/fs/erofs
This commit adds functions that transfer names to inodes.
Signed-off-by: Gao Xiang
---
fs/erofs/namei.c | 246 +++
1 file changed, 246 insertions(+)
create mode 100644 fs/erofs/namei.c
diff --git a/fs/erofs/namei.c b/fs/erofs/namei.c
new file mode
regrab' processes if they
request the same meta page.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig | 9 +
fs/erofs/Makefile| 1 +
fs/erofs/inode.c | 2 +-
fs/erofs/internal.h | 35 ++-
fs/erofs/zmap.c | 460
ch.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig| 10 ++
fs/erofs/Makefile | 2 +-
fs/erofs/compress.h | 89
fs/erofs/decompressor.c | 301
4 files changed, 401 insertions(+), 1 deletion(-)
create mode 100644 fs/e
allocation and
all extra compressed data memcpy.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig|1 +
fs/erofs/Makefile |2 +-
fs/erofs/internal.h | 16 +-
fs/erofs/super.c|9 +
fs/erofs/zdata.c| 1268 +++
fs/erofs/zdata.h| 192
On 2019/7/12 15:12, Nishka Dasgupta wrote:
> Remove function erofs_kill_sb as all it does is call kill_block_super.
> Modify references to the former to point to the latter.
> Issue found with Coccinelle.
>
> Signed-off-by: Nishka Dasgupta
Reviewed-by: Gao Xiang
Th
Hi Pavel,
On 2019/7/14 18:49, Pavel Machek Wrote:
> On Thu 2019-07-11 22:57:31, Gao Xiang wrote:
>> Changelog from v1:
>> o resend the whole filesystem into a patchset suggested by Greg;
>> o code is more cleaner, especially for decompression frontend.
>>
>> --8
LE: drivers/staging/erofs/unzip_pagevec.h:95:
+erofs_vtptr_t *pages, unsigned int
i)
WARNING: line over 80 characters
#203: FILE: drivers/staging/erofs/xattr.h:52:
+static inline const struct xattr_handler *erofs_xattr_handler(unsigned int
index)
Thanks,
Gao Xia
37 unsigned int xattr_id)
> {
> return (xattr_id * sizeof(__u32)) % EROFS_BLKSIZ;
> }
> @@ -49,7 +49,8 @@ extern const struct xattr_handler
> erofs_xattr_trusted_handler;
> extern const st
I doesn't have any
interest in that way in the near future...
In the long term, I'd like to spend my personal free time to decouple code like
fscrypt and introduce fscompr for other generic fs to compress unmodified files
as well then...
That is another stuf
^
My fault... maybe Greg could fix this issue while merging if accepted.
Apart from that, it looks good to me,
Reviewed-by: Gao Xiang
Thanks,
Gao Xiang
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
On 2019/7/15 19:29, Pratik Shinde wrote:
> Fixed checkpatch warnings: converting all 'unsigned' to 'unsigned int'
>
> Signed-off-by: Pratik Shinde
Bump version number and add my reviewed-by tag if you resend again...
since no idea which version is the latest
urn err;
> +}
> +
> +static sector_t erofs_bmap(struct address_space *mapping, sector_t block)
> +{
> + struct inode *inode = mapping->host;
> +
> + if (is_inode_flat_inline(inode))
> + return 0;
could we support flat_inline as well? some difficulty on t
On 2019/7/16 15:35, Chao Yu wrote:
> Hi Xiang,
>
> On 2019/7/16 15:19, Gao Xiang wrote:
>> Hi Chao,
>>
>> On 2019/7/16 15:05, Chao Yu wrote:
>>> Add erofs_bmap() to support FIBMAP ioctl on flatmode inode.
>>>
>>> Signed-off-by: C
+ unsigned int blks = i_size_read(inode) >> LOG_BLOCK_SIZE;
maybe we could use erofs_blk_t ?
> +
> + if (!blks || block >> LOG_SECTORS_PER_BLOCK >= blks)
Could the above line be simplified to block >> LOG_SECTORS_PER_BLOCK >= blks?
Other pa
or
rename it since `flags' is too general? some thoughts?
BTW, This piece of code has been changed in
"[PATCH v2 00/24] erofs: promote erofs from staging", I will sync the code
after some guys takes a look at v2
Thanks,
Gao Xiang
>
> /* fallback to globa
On 2019/7/16 17:27, Chao Yu wrote:
> Hi Xiang,
>
> On 2019/7/16 17:12, Gao Xiang wrote:
>> Hi Chao,
>>
>> On 2019/7/16 16:52, Chao Yu wrote:
>>> Use __GFP_NOFAIL to avoid opened loop codes in z_erofs_vle_unzip().
>>>
>>> Signed-off-by: C
On 2019/7/16 17:44, Chao Yu wrote:
> Use __GFP_NOFAIL to avoid opened loop codes in z_erofs_vle_unzip().
>
> Signed-off-by: Chao Yu
Reviewed-by: Gao Xiang
Thanks,
Gao Xiang
___
devel mailing list
de...@linuxdriverproject
Opt_compress_force,
300 Opt_compress_force_type,
301 Opt_compress_type,
302 Opt_degraded,
303 Opt_device,
304 Opt_fatal_errors,
Thanks,
Gao Xiang
> };
>
> static match_table_t erofs_tokens = {
> - {Opt_user_xattr,
n
practice (it will make EROFS odd compared with other filesystems) and
thanks for your interest :)
Actually, if you notice that, I'm promoting erofs from staging. I would
suggest that you could also take a look at that patchset...
Thanks,
Gao Xiang
>
> Thanks,
> Karen P
On 2019/7/18 4:11, Karen Palacio wrote:
> Fix typo in Kconfig
>
> Signed-off-by: Karen Palacio
Reviewed-by: Gao Xiang
Thanks,
Gao Xiang
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman
Hi Al,
On 2019/7/21 6:49, Al Viro wrote:
> On Thu, Jul 11, 2019 at 10:57:34PM +0800, Gao Xiang wrote:
>> This commit adds erofs super block operations, including (u)mount,
>> remount_fs, show_options, statfs, in addition to some private
>> icache management functions
On 2019/7/21 12:05, Al Viro wrote:
> On Sun, Jul 21, 2019 at 11:08:42AM +0800, Gao Xiang wrote:
>
>> It is for debugging use as you said below, mainly for our internal
>> testers whose jobs are
>> to read kmsg logs and catch kernel problems. sb->s_id (device numbe
On 2019/7/21 ??12:12, Gao Xiang wrote:
>
>
> On 2019/7/21 12:05, Al Viro wrote:
>> On Sun, Jul 21, 2019 at 11:08:42AM +0800, Gao Xiang wrote:
>>
>>> It is for debugging use as you said below, mainly for our internal
>>> testers whose jobs are
>>
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: Gao Xiang
---
fs/erofs/super.c | 438 +++
1 file changed, 438 insertions
This commit adds functions that transfer names to inodes.
Signed-off-by: Gao Xiang
---
fs/erofs/namei.c | 246 +++
1 file changed, 246 insertions(+)
create mode 100644 fs/erofs/namei.c
diff --git a/fs/erofs/namei.c b/fs/erofs/namei.c
new file mode
ore actively.
Share comments about EROFS! We think EROFS is useful to
community as a part of Linux upstream.
Thank you very much,
Gao Xiang
[1]
http://web.archive.org/web/20190627021241/https://consumer.huawei.com/en/emui/
[2] https://lore.kernel.org/lkml/20190624072258.28362-1-hsiang...@aol.co
This commit adds Makefile and Kconfig for erofs, and
updates Makefile and Kconfig files in the fs directory.
Signed-off-by: Gao Xiang
---
fs/Kconfig| 1 +
fs/Makefile | 1 +
fs/erofs/Kconfig | 45 +
fs/erofs/Makefile | 9 +
4
In order to introducing shrinker solution for erofs,
let's manage all mounted erofs instances at first.
Signed-off-by: Gao Xiang
---
fs/erofs/Makefile | 2 +-
fs/erofs/internal.h | 13 +
fs/erofs/super.c| 9 +
fs/erofs/utils.c
This commit adds functions for meta and raw data, and also
provides address_space_operations for raw data access.
Signed-off-by: Gao Xiang
---
fs/erofs/data.c | 423
1 file changed, 423 insertions(+)
create mode 100644 fs/erofs/data.c
diff
This commit adds the on-disk layout header file of erofs.
On-disk format is compatible with erofs-staging added in 4.19.
In addition, add EROFS_SUPER_MAGIC_V1 to magic.h.
Signed-off-by: Gao Xiang
---
fs/erofs/erofs_fs.h| 316 +
include/uapi/linux
ch.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig| 10 ++
fs/erofs/Makefile | 2 +-
fs/erofs/compress.h | 89
fs/erofs/decompressor.c | 301
4 files changed, 401 insertions(+), 1 deletion(-)
create mode 100644 fs/e
This patch adds strategies which can be selected
by users in order to cache both incomplete ends of
compressed physical clusters as a complement of
in-place I/O in order to boost random read, but
it costs more memory than the in-place I/O only.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig
d of course (see the following patches for test results).
[1] https://github.com/lz4/lz4/commit/b17f578a919b7e6b078cede2d52be29dd48c8e8c
https://github.com/lz4/lz4/commit/5997e139f53169fa3a1c1b4418d2452a90b01602
Signed-off-by: Gao Xiang
---
fs/erofs/decompre
x27;s leave it as-is for now.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig| 14 ++
fs/erofs/internal.h | 24
fs/erofs/utils.c| 12
3 files changed, 50 insertions(+)
diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
index 71d0f99
This adds core functions to get, read an inode.
It adds statx support as well.
Signed-off-by: Gao Xiang
---
fs/erofs/inode.c | 291 +++
1 file changed, 291 insertions(+)
create mode 100644 fs/erofs/inode.c
diff --git a/fs/erofs/inode.c b/fs/erofs
().
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h | 359
1 file changed, 359 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 ..bc3d146580d8
--- /dev/null
This patch introduces an temporary _on-stack_ page
pool to reuse the freed page directly as much as
it can for better performance and release all pages
at a time, it also slightly reduces the possibility of
the potential memory allocation failure.
Signed-off-by: Gao Xiang
---
fs/erofs
whole array itself up will be needed.
Signed-off-by: Gao Xiang
---
fs/erofs/zpvec.h | 159 +++
1 file changed, 159 insertions(+)
create mode 100644 fs/erofs/zpvec.h
diff --git a/fs/erofs/zpvec.h b/fs/erofs/zpvec.h
new file mode 100644
index
This patch adds to support special inode, such as
block dev, char, socket, pipe inode.
Signed-off-by: Gao Xiang
---
fs/erofs/inode.c | 27 +--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
index 79ef5b38dfa3
This adds functions for directory, mainly readdir.
Signed-off-by: Gao Xiang
---
fs/erofs/dir.c | 147 +
1 file changed, 147 insertions(+)
create mode 100644 fs/erofs/dir.c
diff --git a/fs/erofs/dir.c b/fs/erofs/dir.c
new file mode 100644
index
://en.wikipedia.org/wiki/Tagged_pointer
Signed-off-by: Gao Xiang
---
fs/erofs/tagptr.h | 110 ++
1 file changed, 110 insertions(+)
create mode 100644 fs/erofs/tagptr.h
diff --git a/fs/erofs/tagptr.h b/fs/erofs/tagptr.h
new file mode 100644
index
Add basic tracepoints for ->readpage{,s}, ->lookup,
->destroy_inode, fill_inode and map_blocks.
Signed-off-by: Gao Xiang
---
include/trace/events/erofs.h | 241 +++
1 file changed, 241 insertions(+)
create mode 100644 include/trace/events/erofs.h
dif
lname: system.posix_acl_default
struct erofs_xattr_entry:
.e_name_len = 0
.e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT (3)
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig| 37 +++
fs/erofs/Makefile | 1 +
fs/erofs/inode.c| 14 +-
fs/erofs/internal.h | 16
future.
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h | 83 ++
fs/erofs/super.c| 4 ++
fs/erofs/utils.c| 168 +++-
3 files changed, 253 insertions(+), 2 deletions(-)
diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
ind
This documents key features, usage, and
on-disk design of erofs.
Signed-off-by: Gao Xiang
---
Documentation/filesystems/erofs.txt | 211
1 file changed, 211 insertions(+)
create mode 100644 Documentation/filesystems/erofs.txt
diff --git a/Documentation/filesystems
allocation and
all extra compressed data memcpy.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig|1 +
fs/erofs/Makefile |2 +-
fs/erofs/internal.h | 16 +-
fs/erofs/super.c|9 +
fs/erofs/zdata.c| 1269 +++
fs/erofs/zdata.h| 192
bjects.
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h | 7
fs/erofs/super.c| 6 +++
fs/erofs/utils.c| 94 -
3 files changed, 106 insertions(+), 1 deletion(-)
diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
index 942e3cbe6076..7d4939
regrab' processes if they
request the same meta page.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig | 9 +
fs/erofs/Makefile| 1 +
fs/erofs/inode.c | 2 +-
fs/erofs/internal.h | 35 ++-
fs/erofs/zmap.c | 460
Hi Stephen,
On 2019/7/22 11:26, Stephen Rothwell wrote:
> Hi Gao,
>
> On Mon, 22 Jul 2019 10:50:20 +0800 Gao Xiang wrote:
>>
>> diff --git a/fs/erofs/erofs_fs.h b/fs/erofs/erofs_fs.h
>> new file mode 100644
>> index ..e418725abfd6
>> ---
Hi Amir,
On 2019/7/22 12:39, Amir Goldstein wrote:
> On Mon, Jul 22, 2019 at 5:54 AM Gao Xiang wrote:
>>
>> Currently kernel has scattered tagged pointer usages
>> hacked by hand in plain code, without a unique and
>> portable functionset to highlight the tagged point
Hi Greg,
On 2019/7/22 13:05, Greg Kroah-Hartman wrote:
> On Mon, Jul 22, 2019 at 01:26:16PM +1000, Stephen Rothwell wrote:
>> Hi Gao,
>>
>> On Mon, 22 Jul 2019 10:50:20 +0800 Gao Xiang wrote:
>>>
>>> diff --git a/fs/erofs/erofs_fs.h b/fs/erofs/erofs_
On 2019/7/22 14:16, Amir Goldstein wrote:
> On Mon, Jul 22, 2019 at 8:02 AM Gao Xiang wrote:
>>
>> Hi Amir,
>>
>> On 2019/7/22 12:39, Amir Goldstein wrote:
>>> On Mon, Jul 22, 2019 at 5:54 AM Gao Xiang wrote:
>>>>
>>>> Currently ke
Hi David,
On 2019/7/22 6:18, David Sterba wrote:
> On Mon, Jul 22, 2019 at 10:50:42AM +0800, Gao Xiang wrote:
>> +choice
>> +prompt "EROFS Data Decompression mode"
>> +depends on EROFS_FS_ZIP
>> +default EROFS_FS_ZIP_CACHE_READAROUND
>&g
Hi Ted,
On 2019/7/22 9:25, Theodore Y. Ts'o wrote,
> On Mon, Jul 22, 2019 at 06:58:59PM +0800, Gao Xiang wrote:
>>> The number of individual Kconfig options is quite high, are you sure you
>>> need them to be split like that?
>>
>> You mean the abov
thing... If my approach seems cleaner,
we could move to include/linux later after EROFS stuffs is done...
Or I could use a better tagptr approach later if any...
Thanks,
Gao XIang
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
On 2019/7/22 11:12, Theodore Y. Ts'o wrote:
> On Mon, Jul 22, 2019 at 10:16:44PM +0800, Gao Xiang wrote:
>> OK, I will give a try. One point I think is how to deal with the case
>> if there is already cached information when remounting as well as you said.
>>
>&
On 2019/7/23 12:35, Steven Rostedt wrote:
> On Mon, 22 Jul 2019 23:33:53 +0800
> Gao Xiang wrote:
>
>> Hi Steven,
>>
>> On 2019/7/22 10:40, Steven Rostedt wrote:
>>>>> and I'm not sure Al could accept __fdget conversi
On 2019/7/23 8:31, David Sterba wrote:
> On Mon, Jul 22, 2019 at 06:58:59PM +0800, Gao Xiang wrote:
>> On 2019/7/22 6:18, David Sterba wrote:
>>> On Mon, Jul 22, 2019 at 10:50:42AM +0800, Gao Xiang wrote:
>>>> +choice
>>>> + prompt "ER
This adds functions for directory, mainly readdir.
Signed-off-by: Gao Xiang
---
fs/erofs/dir.c | 147 +
1 file changed, 147 insertions(+)
create mode 100644 fs/erofs/dir.c
diff --git a/fs/erofs/dir.c b/fs/erofs/dir.c
new file mode 100644
index
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: Gao Xiang
---
fs/erofs/super.c | 437 +++
1 file changed, 437 insertions
regrab' processes if they
request the same meta page.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig | 9 +
fs/erofs/Makefile| 1 +
fs/erofs/inode.c | 2 +-
fs/erofs/internal.h | 35 ++-
fs/erofs/zmap.c | 460
This commit adds Makefile and Kconfig for erofs, and
updates Makefile and Kconfig files in the fs directory.
Signed-off-by: Gao Xiang
---
fs/Kconfig| 1 +
fs/Makefile | 1 +
fs/erofs/Kconfig | 36
fs/erofs/Makefile | 9 +
4 files
().
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h | 355
1 file changed, 355 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 ..8e47ca55d572
--- /dev/null
Add basic tracepoints for ->readpage{,s}, ->lookup,
->destroy_inode, fill_inode and map_blocks.
Signed-off-by: Gao Xiang
---
include/trace/events/erofs.h | 241 +++
1 file changed, 241 insertions(+)
create mode 100644 include/trace/events/erofs.h
dif
This commit adds the on-disk layout header file of erofs.
On-disk format is compatible with erofs-staging added in 4.19.
In addition, add EROFS_SUPER_MAGIC_V1 to magic.h.
Signed-off-by: Gao Xiang
---
fs/erofs/erofs_fs.h| 316 +
include/uapi/linux
d of course (see the following patches for test results).
[1] https://github.com/lz4/lz4/commit/b17f578a919b7e6b078cede2d52be29dd48c8e8c
https://github.com/lz4/lz4/commit/5997e139f53169fa3a1c1b4418d2452a90b01602
Signed-off-by: Gao Xiang
---
fs/erofs/decompre
This adds core functions to get, read an inode.
It adds statx support as well.
Signed-off-by: Gao Xiang
---
fs/erofs/inode.c | 291 +++
1 file changed, 291 insertions(+)
create mode 100644 fs/erofs/inode.c
diff --git a/fs/erofs/inode.c b/fs/erofs
://en.wikipedia.org/wiki/Tagged_pointer
Signed-off-by: Gao Xiang
---
fs/erofs/tagptr.h | 110 ++
1 file changed, 110 insertions(+)
create mode 100644 fs/erofs/tagptr.h
diff --git a/fs/erofs/tagptr.h b/fs/erofs/tagptr.h
new file mode 100644
index
In order to introducing shrinker solution for erofs,
let's manage all mounted erofs instances at first.
Signed-off-by: Gao Xiang
---
fs/erofs/Makefile | 2 +-
fs/erofs/internal.h | 13 +
fs/erofs/super.c| 9 +
fs/erofs/utils.c
This patch adds to support special inode, such as
block dev, char, socket, pipe inode.
Signed-off-by: Gao Xiang
---
fs/erofs/inode.c | 27 +--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
index b6ea997bc4ae
s about EROFS! We think EROFS is useful to
community as a part of Linux upstream.
Thank you very much,
Gao Xiang
[1]
http://web.archive.org/web/20190627021241/https://consumer.huawei.com/en/emui/
[2] https://lore.kernel.org/lkml/20190624072258.28362-1-hsiang...@aol.com/
Cc: Greg Kroah-H
This commit adds functions that transfer names to inodes.
Signed-off-by: Gao Xiang
---
fs/erofs/namei.c | 246 +++
1 file changed, 246 insertions(+)
create mode 100644 fs/erofs/namei.c
diff --git a/fs/erofs/namei.c b/fs/erofs/namei.c
new file mode
ch.
Signed-off-by: Gao Xiang
---
fs/erofs/Makefile | 2 +-
fs/erofs/compress.h | 62
fs/erofs/decompressor.c | 331
3 files changed, 394 insertions(+), 1 deletion(-)
create mode 100644 fs/erofs/compress.h
create mode 100644 fs/erofs
This commit adds functions for meta and raw data, and also
provides address_space_operations for raw data access.
Signed-off-by: Gao Xiang
---
fs/erofs/data.c | 423
1 file changed, 423 insertions(+)
create mode 100644 fs/erofs/data.c
diff
This patch adds strategies which can be selected
by users in order to cache both incomplete ends of
compressed physical clusters as a complement of
in-place I/O in order to boost random read, but
it costs more memory than the in-place I/O only.
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h
x27;s leave it as-is for now.
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig| 14 ++
fs/erofs/internal.h | 25 +
fs/erofs/utils.c| 12
3 files changed, 51 insertions(+)
diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
index a475fbe
whole array itself up will be needed.
Signed-off-by: Gao Xiang
---
fs/erofs/zpvec.h | 159 +++
1 file changed, 159 insertions(+)
create mode 100644 fs/erofs/zpvec.h
diff --git a/fs/erofs/zpvec.h b/fs/erofs/zpvec.h
new file mode 100644
index
lname: system.posix_acl_default
struct erofs_xattr_entry:
.e_name_len = 0
.e_name_index = EROFS_XATTR_INDEX_POSIX_ACL_DEFAULT (3)
Signed-off-by: Gao Xiang
---
fs/erofs/Kconfig| 38 +++
fs/erofs/Makefile | 1 +
fs/erofs/inode.c| 14 +-
fs/erofs/internal.h | 16
bjects.
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h | 7
fs/erofs/super.c| 6 +++
fs/erofs/utils.c| 93 -
3 files changed, 105 insertions(+), 1 deletion(-)
diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
index 2d437bcf140d..3b43f9
This documents key features, usage, and
on-disk design of erofs.
Signed-off-by: Gao Xiang
---
Documentation/filesystems/erofs.txt | 221
1 file changed, 221 insertions(+)
create mode 100644 Documentation/filesystems/erofs.txt
diff --git a/Documentation/filesystems
601 - 700 of 851 matches
Mail list logo