Btrfs is a new copy on write filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration.

Linuxカーネル2.6.37のBtrfsに新しいマウントオプションspace_cacheが追加された。Btrfsは割り当て可能なスペースを探すために毎回全ツリーをスキャンしているが、space_cacheを有効にするとディスクのフリースペースをキャッシュするようになり、この部分の処理の高速化が期待できる。

Phoronix - Benchmarks Of The Btrfs Space Cache Optionに、デフォルトのBtrfs、space_cacheを有効した場合、compressを有効にした場合、space_cacheとcompressの双方を有効した場合のBtrfsベンチマーク結果が掲載されている。ベンチマークに使われたS/WはUbuntu 10.10+Linuxカーネル 2.6.37 (2010-12-22)、H/WはOpteron 2384、4GBメモリ、64GB SSDとされている。ベンチマーク結果を要約すると次のとおり。

  • space_cacheを有効にすることで概ねどのケースでも性能の向上が期待できる。
  • space_cacheとcompressを比較すると、この構成のH/W-S/Wではcompressの方が大幅な性能向上を実現している。
  • space_cacheとcompressを組み合わせた場合、さらなる性能改善が見込める場合と、大きく性能が劣化するケースの双方がみられる。

space_cacheは将来的にデフォルトで有効になる可能性がある。Linuxディストリビューションの多くはExt4をデフォルトのファイルシステムとして採用しているが、より柔軟で強力な機能を実現できるBtrfsも魅力的な選択肢となっており、いくつかのディストリビューションはすでにBtrfsの採用や対応を進めている。将来的にデフォルト採用が見込まれるファイルシステム。