UFS ロギングは、個々の UFS 操作による複数のメタデータ変更を、1 つのトランザクションにまとめます。一連のトランザクションは、ディスク上のログに記録された後で、実際の UFS ファイルシステムのメタデータに適用されます。
システムはリブート時に、不完全なトランザクションを廃棄しますが、完結している操作のトランザクションは適用します。完結しているトランザクションだけが適用されるために、ファイルシステムの整合性が保たれます。通常であればシステムコールの実行が中断され、UFS ファイルシステムの整合性が確保できないシステムクラッシュ時にも、ファイルシステムの整合性が保たれます。
UFS ロギングには 2 つの長所があります。
トランザクションログによりファイルシステムの整合性がすでに保持されている場合、システムがクラッシュしたとき、またはクリーンでないシステム停止が発生したときに、fsck コマンドを実行する必要がないことがあります。クリーンでない停止については、fsck コマンドでチェックして修復される内容を参照してください。
通常の場合、パフォーマンスが大幅に改善されます。というのも、ロギングを有効にしたファイルシステムでは、同じデータに対する複数回の更新が 1 回の更新に変換されるため、オーバーヘッドの大きいディスク操作の実行回数が減るからです。
ログはファイルシステムの空きブロックから割り当てられ、1G バイトのファイルシステムごとに約 1M バイトのサイズ (合計で 64M バイトまで) が割り当てられます。ログは、いっぱいになるとフラッシュされます。また、ファイルシステムがマウント解除されたとき、あるいは lockfs コマンドを実行したときにも、ログがフラッシュされます。
1T バイトを超えるファイルシステムの場合、UFS ロギングがデフォルトで有効になります。
UFS ロギングを有効にする必要がある場合は、/etc/vfstab ファイル内で mount コマンドに -o logging オプションを指定する、またはファイルシステムを手動でマウントするときに mount コマンドに -o logging オプションを指定します。ログは、任意の UFS ファイルシステムで有効にできます。また、fsdb コマンドには、UFS ロギングをサポートするための新しいデバッグコマンドが用意されています。
一部のオペレーティングシステムでは、ロギングが有効になっているファイルシステムを「ジャーナル」ファイルシステムと呼びます。