いつのまにかSquashfsが。

Squashfs 3.1リリース!
と聞いて喜ぶ人もそうはいないと思う。

今日カーネルコンパイルしていたら、3.0じゃなくて3.1になっていた。リリース日は3日前。

なんとmksquashfsがマルチスレッドになって、マルチコアなシステムで圧縮速度が大幅に大幅に加速する。他にもディスクIOパフォーマンスがシングルコアなシステムでも10%は上がるとか。

昔は3GBのディスクイメージを圧縮するのに、2GB以下のディスクイメージを2つ作って、それをlosetupしてDevice Mapperでつなげて、ファイルシステム作ってシステム全部をコピー。そんでもって20MBくらいのディスクイメージ作って、losetupして、ファイルシステムつくって、そのなかに10GBのスパースファイル作って、losetupして、Device Mapperでさっきのイメージにさらに繋げて、xfs_growfsして、Device Mapper外して、losetup外して、やっとできたディスクイメージ群をシングルスレッドなsquashfsでじわじわ圧縮、なんという手間がかかっていた。
VIVER 0.2 Diskimage Toolkitには↑この処理を気合いで自動化するシェルスクリプトが入っています。

3.0になって2GBの壁がなくなり、さらに3.1でマルチスレッド。あぁすばらしい。
VIVER 0.3でスパースファイルは起動時につなげるようにしたので、ディスクイメージの作成時に必要な作業は、dd -> mkfs.ext3 -> mount -o loop -> tarcp -> umount -> mksquashfs で終わり。革命的。


現在そんな革命的に簡単になった手順でディスクを作成中。