我使用spi-nor芯片并创建了一个16M的分区作为JFFS2 fs。我发现了一件奇怪的事情,我应该使用14M的存储空间,但是当我使用df检查时,它显示只使用了7M:
/ # df
Filesystem 1K-blocks Used Available Use% Mounted on
...
/dev/mtd7 16384 7488 8896 46% /data
...
我复制了另一个2M文件到这个分区后:
/tmp # ls -l
-rwxr-xr-x 1 0 0 Fri Jul 24 18:32:46 2015 2478144 asd
结果是只使用了1M的存储空间:
# df
Filesystem 1K-blocks Used Available Use% Mounted on
....
/dev/mtd1 16384 8744 7640 53% /tmp
....
是否有人也发现了这个问题?
谢谢,
JFFS2默认使用文件系统压缩,因此分区上使用的空间不会反映文件大小的总和,因为文件是动态压缩的。这意味着它们的单个文件大小将反映它们未压缩的大小,但总体卷使用量将反映它们压缩后的大小。
来自维基百科上的JFFS2:
没有实际的方法来判断设备上还有多少可用的空闲空间,因为这取决于额外数据的压缩程度和写入顺序。