ディスクブロックのバッファへの書き込み

伝統的UNIXではbwrite関数が用意されていたが、linuxでは相当する関数が存在しない。利用する箇所で以下のようなbwrite関数相当の処理を各々記述しなければならない。(これは歴史的にlinuxが、"書き込み処理は全て遅延書き込みで行う”というポリシーを持っていたためと想像する)

  1. getblkによりバッファを確保
  2. バッファの内容を書き換える
  3. バッファにBH_Dirtyのビットを立て、lru_listBUF_DIRTYに繋ぎ直す
  4. ドライバに対してI/O要求を発行
  5. I/O完了を待ち合わせる場合は、I/O完了待ち状態に移行(wait_on_buffer)

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