OpenZFSのほぼ壊滅的なバグがRustの型システムの威力を浮き彫りに
2025-07-11

OpenZFSのコアディスク割り当て関数に、微妙ながらも壊滅的なバグが最近発見されました。このバグは、単純な型エラーによって間違ったサイズが返されるというもので、データがサイレントに上書きされる可能性がありました。発見までに約2日間かかりました。このバグはリリース版には存在しませんでしたが、C言語の静的解析ツールの限界とRustの型システムの利点について改めて考えさせられるきっかけとなりました。Rustが`PhysicalSize`や`AllocatedSize`のようなカスタム型を定義できる機能は、このバグを防いでいたでしょう。著者は、プログラマの完全性に頼るだけでは不十分であり、ツールや言語機能を活用してコードの品質を向上させ、検出が難しく影響の大きいバグを軽減することが重要だと主張しています。
開発