Comments (8)
可以直接使用Android的img2simg
from erofs-utils.
可以直接使用Android的img2simg
不知道erofs是否像ext4一样存在未使用的block, 如果是, 那img2simg其实不适用
比如ext2simg, 能生成比img2simg更优的稀疏镜像
from erofs-utils.
可以直接使用Android的img2simg
不知道erofs是否像ext4一样存在未使用的block, 如果是, 那img2simg其实不适用
比如ext2simg, 能生成比img2simg更优的稀疏镜像
我觉得这个你可以自己先试试,我们一直用img2simg。
erofs的block利用率很高,sparse格式对于erofs本身几乎没什么用途主要起作用的也就data跟vb的gap。
如果你有兴趣也可以帮忙开发这个功能,对于我来说这个特性优先级比较低,因为运行时省不了多少时间和空间。
from erofs-utils.
可以直接使用Android的img2simg
不知道erofs是否像ext4一样存在未使用的block, 如果是, 那img2simg其实不适用
比如ext2simg, 能生成比img2simg更优的稀疏镜像我觉得这个你可以自己先试试,我们一直用img2simg。
erofs的block利用率很高,sparse格式对于erofs本身几乎没什么用途主要起作用的也就data跟vb的gap。
如果你有兴趣也可以帮忙开发这个功能,对于我来说这个特性优先级比较低,因为运行时省不了多少时间和空间。
加一句,如果simg在erofs上发挥了非常大的作用(除了最后的vb部分),感觉应该属于bug需要解决。
erofs格式不应该出现连续的空白或者填充块, simg只是个传输格式,erofs更在乎最终磁盘上的形态是不是紧凑。
from erofs-utils.
@hsiangkao 你了解ext4么, 想请教下为何改变一个字节为何导致占用的blocks变化巨大呢?
文件长度7816288, 把第6184959字节改为0, blocks不变, 把第6184959+1字节改为0, blocks立马增加了8个。
Filesystem features: ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
from erofs-utils.
@hsiangkao 你了解ext4么, 想请教下为何改变一个字节为何导致占用的blocks变化巨大呢?
文件长度7816288, 把第6184959字节改为0, blocks不变, 把第6184959+1字节改为0, blocks立马增加了8个。Filesystem features: ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
并不是很了解发生了什么,但我猜你可以e2fsprogs的debugfs工具看一下这个文件究竟发生了什么变化。
from erofs-utils.
@hsiangkao 谢谢大佬, 确实被压缩优化了, 原文件EXTENTS有两段, 中间blocks全是0被断开了, 但我不清楚ext4哪个features控制这种行为, 还是说默认支持?
from erofs-utils.
@hsiangkao 谢谢大佬, 用debugfs看了, 原文件EXTENTS有两段, 中间断开了, 修改之后文件的EXTENTS变成一段了, 难道是被压缩了?只修改内容不应该导致blocks改变吧
我猜可能原文件原来中间有洞,你写了一个0,然后就分配了具体的磁盘块。
另外请不要滥用压缩这个词,在fs里面“透明压缩”是有确定含义的,你这种情况属于sparse file,一般unix文件系统都会有所支持。
from erofs-utils.
Related Issues (10)
- Build failed without `--with-lz4-libdir` HOT 3
- [kind reminder] report issues or submiting patches via mailing list
- big difference between squashfs and erofs size image HOT 3
- A couple of questions on EROFS HOT 6
- Backport erofs to kernel 4.9 HOT 6
- 关于experimental分支的fragments和dedup特性在android上的几个bug HOT 7
- 作者你好,在使用fsck.erofs分析华为emui9.1的system.img时总是提示 HOT 2
- Is it possible to change files without recreating Erofs ? HOT 3
- [fuzzing] global-buffer-overflow
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from erofs-utils.