クレア工房
| NetBSD
FFS: Berkeley fast filesystem
Options
FFSにはマウントオプションとして、
デフォルト動作のほかにlogとdiscardがあります。
-
何も付けないデフォルトでは、従来通りの古典的な動作をします。
メタデータはfsckできると期待される程度に同期的に扱われます。
ユーザデータは非同期的に扱われます。
クラッシュした場合はfsckを走らせなければなりません。
-
logオプションは、WAPBLを使って、メタデータジャーナリングを行います。
メタデータを一度ジャーナルに書くことで、
不意のクラッシュでもfsckの利用頻度を減らす効果があります。
WAPBLではメタデータを一度ジャーナルに書いてから本来の位置に書きます。
メタデータを二度書くことになってしまうため、その分だけIOPSを余分に消費します。
つまり、ジャーナリングを使うと書き込みが遅くなります。
加えて、logオプションで有効化されるWAPBLにはメタデータを書けるサイズに上限があります。
上限を超えると、カーネルがパニックします。
一定サイズ以上のファイルを削除することができなくなります。
-
discardオプションは、TRIMを発行することを指示します。
NetBSDにはLinuxでおなじみのfstrimはまだありません。
このオプションによってしか、UNMAP/TRIMを発行する良い方法はないようです。
-
syncオプションはメタデータとユーザデータの双方を同期的に(順序立てて更新するように)扱います。
logオプションとdiscardオプションを同時に使うことはできず、
排他の利用となります。
Versions
FFSv1は32bit inodeを採用したファイルシステムです。
先頭8KBはブートレコード等のために予約されており、ファイルシステムとしては使用されません。
NetBSDではブートレコード部分にMBR+disklabelを収めることができます。
FFSv2は64bit inodeを採用したファイルシステムです。
先頭64KBはブートレコード等のために予約されており、ファイルシステムとしては使用されません。
FFSv2にはACLを実装したバリアントがあります。
This is copyrighted material.
Copyright © 2026 clare.
All rights reserved.