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
erofs/atc19-mkfs
(outdated) latest code can be get from https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/
CNOASSERTION