ソース表示: internal22-160-同期書き込みの種類 #23584

{{{ comment
h2w-title:同期書き込みの種類
}}}

== 同期書き込みの種類 == #SECTION031111000000000000000

ext2fsは以下の二つの同期書き込み機能をもっている。

  1.  ファイル属性としての同期書き込み属性

    *  ファイルのiノードの属性によりファイルを構成する管理データを同期書き込みするかいなかを指定できる。この属性をもつiノードが管理するファイル構造を変更すると関連するiノードや間接ブロックが同期的にディスクに書き込まれる。まだ更新するファイルがディレクトリであった場合、そのディレクトリブロックも同期的に書き込まれる。
    *  この属性はファイルに対するioctl(EXT2_IOC_SETFLAGS)にて設定可能である。(または、chattrコマンド)またこの属性をもつディレクトリに下にファイルを生成した場合、新しいファイルもこの属性を引き継ぐ(ディレクトリのSビットと同じ扱い)
    *  この属性はext2fs独自のものである。

  *  ファイルシステム属性としての同期書き込み属性

    *  mountシステムコールの引き数により、ファイルシステムの構造を構成する全ての部分を同期的に書き込むようにすることができる。
    *  この属性はvfsが管理している属性であるが、その実現は各ファイルシステムにゆだねられている。
    *  ext2ファイルシステムでは、ファイルシステム内の全てのファイルが同期書き込み属性を持つことに加え、iノードとブロックのフリービットマップ領域も同期的に更新されるようになる。

'''注意'''

ただし、先にも述べたように、この同期書き込みモードも完全ではなく、システムクラッシュによりファイルシステム構造破壊を引き起こすことがある。

しかし、デフォルトのモード(全て遅延書き込みとする)より、圧倒的に高い信頼性を得ることが可能。

この機能はまだまだ手を加える余地があり、信頼性を高めると同時に、高速化することも可能である。

----

''(NIS)HirokazuTakahashi [[BR]]2000年06月11日 (日) 22時29分57秒 JST''