64-bit inodes (ino64) Status Update and Call for Testing
FreeBSDはこれまでinodeに32ビットを使ってきました。最近のファイルシステムはinodeに相当する部分のデータ構造に64ビットを使っていまして、FreeBSDでも64ビット化しようという話は数年前から上がっていました。最近、FreeBSD Foundationのスポンサードのもとで集中的に開発が進められ(64bit inode project; ino64)、関連する各種(NFS、ZFS、ABI互換、compat32など)含めて開発はある一定のレベルに到達したとして開発者やユーザに対してテストを求めるメールが投函されました。
説明によれば、ino64ブランチではino_tとdev_tが32ビットから64ビットに変更されているほか、nlink_tが16ビットから64ビットに変更されているとのことです。また、f_mntfromnameとf_mntonnameの長さ(MNAMELEN)が88から1024に増やされているようです。そのほかいくつかの構造体が変更されています。ABIが変更ということになりますので、アップグレードする際にはこの部分の変更に留意しておく必要があります。
テストを経てからCURRENTにコミットしていく流れになっているので、将来的にFreeBSD 12からこの機能が有効になるんじゃないかと思います。FreeBSD 11にバックポートされるかどうかはわかりませんが、ABIが変更されることになるのでFreeBSD 11系にはバックポートされないんじゃないかと思います。
ABIが変更されるのでコンパイルできないプログラムが出てきたり、以前の環境でビルドしたバイナリがそのままでは動作しなくなることも考えられます。前述したメールにGitHub経由でソースを取得またはPhabricatorからパッチを取得してビルドする方法がまとめられていますので、これを参考にして環境を用意すれば検証作業を行うことができます。現状でいくつかのportsはビルドできない状態です。今後ports側も対応を入れていくことになりそうです。互換性などが気になる場合にはテスト環境を用意して先行して検証をしてみてください。
※執筆後にパッチがCURRENTへコミットされました。動作検証などが継続して行われています。
勉強会
第63回 6月15日(木)19:00~FreeBSD勉強会
内容は検討中です(場所はヴァル研究所 セミナールーム)。登録はこちらから。
FreeBSD勉強会 発表者募集
FreeBSD勉強会では発表者を募集しています。FreeBSDに関して発表を行いたい場合、@daichigotoまでメッセージをお願いします。1~2時間ほどの発表資料を作成していただき発表をお願いできればと思います。