Code Monkey home page Code Monkey logo

erofs-utils's People

Contributors

aglexport avatar comixhe avatar dm0- avatar dvandercorp avatar eriksjolund avatar ffontaine avatar haruue avatar helloc avatar hjn-1 avatar hsiangkao avatar huww98 avatar i-pear avatar igoreisberg avatar iyenli avatar jengelh avatar jonathansmithguo avatar kraj avatar lostjeffle avatar mbaynton avatar mofishzz avatar nabijaczleweli avatar nolange avatar old-memories avatar ownia avatar pcc avatar pratik32 avatar stopire avatar taigerhu avatar watatuki avatar yawqi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

erofs-utils's Issues

A couple of questions on EROFS

Hi Gao Xiang,

Good works on EROFS! I have a couple of questions, hope you can help to answer them.

  1. Comparing with lz4, lzma will make the size small, but decompression time will be longer, do you have any benchmark test results for lz4 and lzma in terms of size and performance.
  2. Do you plan to add lzma support for EROFS-Utils in buildroot?
  3. Do you plan to add zstd support for EROFS in kernel?

Thanks,
--Don

Build failed without `--with-lz4-libdir`

I tried to build this project with:

$ ./autogen.sh
$ ./configure
$ make

and got following configure error:

checking for lz4.h... yes
checking for LZ4_compress_destSize in -llz4... no
configure: error: Cannot find proper lz4 version (>= 1.8.0)

I am sure that I have lz4 1.9.2 installed, so I checked config.log and saw these link error:

configure:10419: checking for LZ4_compress_destSize in -llz4
configure:10444: gcc -o conftest -g -O2   -L  conftest.c -llz4   >&5
/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib/Scrt1.o: in function `_start':
(.text+0x24): undefined reference to `main'
collect2: error: ld returned 1 exit status

This error is caused by an empty -L flag in the gcc command. I looked into configure.ac and found:
https://github.com/hsiangkao/erofs-utils/blob/dd37a983616706414e2e4232e2aa96b56a09fed6/configure.ac#L177

When the $with_lz4_libdir is an empty string, LDFLAGS=-L ${LDFLAGS}, that's why we got the empty -L.

Here is a working patch for dd37a98:

diff --git a/configure.ac b/configure.ac
index f925358..01a95e4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -174,7 +174,7 @@ if test "x$enable_lz4" = "xyes"; then
 
   if test "x${have_lz4h}" = "xyes" ; then
     saved_LDFLAGS=${LDFLAGS}
-    LDFLAGS="-L$with_lz4_libdir ${LDFLAGS}"
+    LDFLAGS="-L$LZ4_LIBS ${LDFLAGS}"
     AC_CHECK_LIB(lz4, LZ4_compress_destSize, [
       have_lz4="yes"
       have_lz4hc="yes"

Please fix it.

关于experimental分支的fragments和dedup特性在android上的几个bug

给aosp加上了最新的erofs-utils支持,4.19的高通865内核除了dax和fscache特性其他的也都从主线backport了,核心代码对比上游几乎没有差异了,不过最新两个特性出现了些bug,虽然是experimental,但是还是说下吧

AcmeUI/android_external_erofs-utils@5b93190

fragments支持在load android的fsconfig下packed inode得跳过,要不然查找不到路径(


Handling packed_file ...failed to find rblock: %d
in canned fs_config

Out of space? Out of inodes? The tree size of /home/tarsin/Acme/out/soong/.temp/tmp3d41sibp is 990187520 bytes (944 MB), with reserved space of 0 bytes (0 MB).


而且加上这个patch虽然能输出文件了,我bp的内核也没法读取,会触发这个https://github.com/torvalds/linux/blob/725737e7c21d2d25a4312c2aaa82a52bd03e3126/block/blk-core.c#L525, 虽然和上游代码高度一致,不过也不排除我bp的有问题

还有就是在开启dedup特性的时候制作某些镜像(比如android的vendor镜像)mkfs直接死循环了(等了十多分钟什么也没有输出,一直在占用一个线程的cpu时间,我还没去调试,如果您需要测试文件的话我可以传下

[kind reminder] report issues or submiting patches via mailing list

This github repo is only an internal working branch myself.

The perferred way is to report issues or submiting patches via erofs mailing list:
[email protected] (Unmoderated mailing list)

Also see (It's also applicable to erofs-utils since it's a Linux kernel related userspace project):
https://www.kernel.org/doc/html/latest/process/submitting-patches.html

Note in particular the requirements for the Developer's Certification of Origin (aka the Signed-off-by tag). That has specific legal meanings (for example, you are certifying that your employer allows
you to contribute to open source projects, or at least, this open source project), so please take a close look at that.

big difference between squashfs and erofs size image

Hello,
I want to change squashfs to erofs image to performance issue, but my first test is very not exiting :
/usr/local/bin/mkfs.erofs -zlz4hc foo.erofs.img /run/WORK/CHROOT.NEW/
=> foo.erofs.img = 553 Mo

mksquashfs /run/WORK/CHROOT.NEW/ tmp/chroot.sqfs -noappend -comp lz4 -no-xattrs
=> /tmp/chroot.fs = 290 Mo

Erofs only compress image without any optimization found in squashfs ?

Regards,
Nicolas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.