squashfsというのはcramfsと同じくread onlyだけど圧縮をサポートするファイルシステムで組み込みのルートファイルシステムによく使われています。

cramfsは超大昔にLinusでお遊びで作ったファイルなので、

・最大ファイルシステムサイズが小さい
・最近のモダンなフィーチャーに一切対応していない

といった問題があったのでした。


ここで、Phillip Lougher による比較表どーん


Squashfs Cramfs

Max filesystem size: 2^64 256 MiB
Max file size: ~ 2 TiB 16 MiB
Max files: unlimited unlimited
Max directories: unlimited unlimited
Max entries per directory: unlimited unlimited
Max block size: 1 MiB 4 KiB
Metadata compression: yes no
Directory indexes: yes no
Sparse file support: yes no
Tail-end packing (fragments): yes no
Exportable (NFS etc.): yes no
Hard link support: yes no
"." and ".." in readdir: yes no
Real inode numbers: yes no
32-bit uids/gids: yes no
File creation time: yes no
Xattr and ACL support: no no


Christoph Hellwig (ファイルシステム関係の大御所、こいつがレビューしないとファイルシステムのマージは難しい)が反対していたので、雲行きが怪しかったのだが、おいらが、いや日本の組み込みではもう実績あるからマージして良いと思うだわさ。って言ったら通ってしまった。
うわははは。

ところで、Andrew Mortonのその後のコメント


Merge it!

We've long needed a filesystem named after a vegetable.



の意味がとれないんだけど、なんで野菜が出てくるんだい?