Show page source of internal22-120-問題点、注意点 #25451

[[PageNavi(internal22-navi)]]

{{{ comment
h2w-title:問題点、注意点
}}}
 

==== 問題点、注意点 ==== #SECTION037110010000000000000

  1.  SYNCモードのマウント時であっても、ここで行う操作は	全て遅延書き込みで実現されている。	ディスク更新順序は上位モジュールにゆだねられている。
  1.  ディレクトリ拡張が発生した場合、ディレクトリブロックを初期化し	ディスクに書き込むタイミングと、iノードのファイルサイズを	ディスクに書き込みタイミングは、上位モジュールの動作によって	は、ディレクトリブロックより先にiノードが書き込まれてしまう。	これは、このタイミングでシステムクラッシュすると不正な	ディレクトリブロックが残る可能性がある。(注)上位モジュールの	作りによる。
  1.  ディレクトリ拡張が発生した場合、ディレクトリブロックの割当は ext2_bread関数の延長で行われるが、 ディレクトリのiノードそのものの更新は遅延書き込みとなっている。	つまり、このタイミングでシステムがクラッシュすると	ファイルサイズ情報が更新されていないため、ディレクトリに	新規登録したファイルを参照できなくなってしまう。
  1.  ext2_delete_entry関数は、ファイル登録の削除を行ったディレクトリ	のディスクへの書き込みは全く行っていない(遅延書き込み要求さえ	出していない)。書き込みの責任は全て上位呼び出し側が受け持たねば	ならない。
  1.  ディレクトリからのファイル名検索、ディレクトリへのファイル登録は、	毎回ディレクトリ先頭からの線形探索となる為、大きなディレクトリは	アクセス速度の面で非常に不利である。

'''補足'''

ext2_add_entry関数は、エントリ名の重なりチェックは完全には行わない。呼び出し側で考慮しなければならない。

----

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

[[PageNavi(internal22-navi)]]