同期書き込みの種類
ext2fsは以下の二つの同期書き込み機能をもっている。
- ファイル属性としての同期書き込み属性
- ファイルのiノードの属性によりファイルを構成する管理データを 同期書き込みするかいなかを指定できる。 この属性をもつiノードが管理するファイル構造を変更すると 関連するiノードや間接ブロックが同期的にディスクに書き込まれる。 まだ更新するファイルがディレクトリであった場合、 そのディレクトリブロックも同期的に書き込まれる。
- この属性はファイルに対するioctl(EXT2_IOC_SETFLAGS)にて 設定可能である。(または、chattrコマンド) またこの属性をもつディレクトリに下に ファイルを生成した場合、新しいファイルもこの属性を 引き継ぐ(ディレクトリのSビットと同じ扱い)
- この属性はext2fs独自のものである。
- ファイルシステム属性としての同期書き込み属性
- mountシステムコールの引き数により、ファイルシステムの構造を 構成する全ての部分を同期的に書き込むようにすることができる。
- この属性はvfsが管理している属性であるが、その実現は各ファイル システムにゆだねられている。
- ext2ファイルシステムでは、ファイルシステム内の全ての ファイルが同期書き込み属性を持つことに加え、iノードと ブロックのフリービットマップ領域も同期的に更新されるようになる。
注意
ただし、先にも述べたように、この同期書き込みモードも完全ではなく、システムクラッシュによりファイルシステム構造破壊を引き起こすことがある。
しかし、デフォルトのモード(全て遅延書き込みとする)より、圧倒的に高い信頼性を得ることが可能。
この機能はまだまだ手を加える余地があり、信頼性を高めると同時に、高速化することも可能である。
(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST1