-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
91 lines (61 loc) · 2.58 KB
/
README
File metadata and controls
91 lines (61 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
erofs-utils
===========
erofs-utils includes user-space tools for erofs filesystem images.
Currently only mkfs.erofs is available.
mkfs.erofs
----------
It can create 2 primary kinds of erofs images: (un)compressed.
- For compressed images, it's able to use several compression
algorithms, but lz4(hc) are only supported due to the current
linux kernel implementation.
- For uncompressed images, it can decide whether the last page of
a file should be inlined or not properly [1].
Dependencies
~~~~~~~~~~~~
lz4-1.8.0+ for lz4 enabled [2], lz4-1.9.0+ recommended
How to build for lz4-1.9.0 or above
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To build you can run the following commands in order:
::
$ ./autogen.sh
$ ./configure
$ make
mkfs.erofs binary will be generated under mkfs folder.
How to build for lz4-1.8.0~1.8.3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For these old lz4 versions, lz4hc algorithm cannot be supported without
lz4 static libary due to LZ4_compress_HC_destSize unstable api usage,
which means only lz4 algrithm is available if lz4 static library isn't found.
On Fedora, static lz4 can be installed using:
yum install lz4-static.x86_64
However, it's not recommended to use those versions since there was a bug
in these compressors, see [2] as well.
Obsoleted erofs.mkfs
~~~~~~~~~~~~~~~~~~~~
There is an original erofs.mkfs version developped by Li Guifu,
which was replaced by the new erofs-utils implementation.
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git -b obsoleted_mkfs
It may still be useful since new erofs-utils has not been widely used in
commercial products. However, if that happens, please report bug to us
as well.
Contribution
------------
erofs-utils is a GPLv2+ project as a part of erofs file system,
feel free to send patches or feedback to us.
To:
linux-erofs mailing list <linux-erofs@lists.ozlabs.org>
Li Guifu <bluce.liguifu@huawei.com>
Miao Xie <miaoxie@huawei.com>
Fang Wei <fangwei1@huawei.com>
Cc:
Gao Xiang <gaoxiang25@huawei.com>
Chao Yu <yuchao0@huawei.com>
Comments
--------
[1] According to the erofs on-disk format, the last page of files could
be inlined aggressively with its metadata in order to reduce the I/O
overhead and save the storage space.
[2] There was a bug until lz4-1.8.3, which can crash erofs-utils randomly.
Fortunately bugfix by our colleague Qiuyang Sun was merged in lz4-1.9.0.
For more details, please refer to
https://github.com/lz4/lz4/commit/660d21272e4c8a0f49db5fc1e6853f08713dff82