Replies: 1 comment
-
Glad you like the project! There are currently no plans at all for kernel integration. It is most definitely not a trivial task, especially given the code is C++ and pulls in libraries like folly and fbthrift. That being said, the format is documented, but the metadata binary format depends on fbthrift's Frozen2 library. So it's certainly not impossible, but this is going to have a hard time coming even close to the top of my priorities. :) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
I discovered DwarFS today, as I was exploring switching from
squashfs
toerofs
(or something else). I was upset about poor decompression and multithreading scaling for squashfs, so was looking for alternatives. And by accident I found DwarFS quite a bit better.Input and output in tmpfs.
The output is for livecd based on Debian with a very large number of packages.
The input is 44GiB in 947000 files and 87671 directories. A lot of binaries, libraries, text files, config files, etc.
squashfs compresses this to about 18.75 GB (this actually is iso size, so includes bootloader, kernel and initramfs - about 350MB in total, so real squashfs is more like 18.45GB). Compression takes about an hour on my 16-core / 32-thread machine. Using zstd 19.
erofs output was 26.92GB, and took 13 minutes to build. (
-zlz4hc,9
)dwarfs output was 15.95GB (14.85 GiB), and took a bit over 18 minutes.
So that is quite nice indeed and significant improvement, for building, uploading, downloading, writing to USB / BD, and booting.
dwarfs output:
so, I think dwarfs is really useful and would be nice to be able to boot from it.
I am sure I could make it work with fuse somehow in intramfs, possibly with static binaries, but would be probably slowish due to use of fuse.
Are there any plans to develop native in-kernel module for dwarfs?
Kernel already has some internal APIs and modules to use zstd, lz4, lzma, so these could be reused, but of course some other pieces might require adapting, including memory allocation, hash tables, etc).
I know this is not a trivial task, but if the feature set and format is stable, it is something worth considering? There might be some features that are not strictly required either, so could be left for future.
Beta Was this translation helpful? Give feedback.
All reactions