Linuxカーネルに関する技術情報を集めていくプロジェクトです。現在、Linuxカーネル2.6解読室の第2章までを公開中。
ext2_bread関数は、ブロックの確保、ブロックに対応したバッファの確保、ブロック内容のバッファへの読み込みまでを行う。create指定がある場合、ファイルに対応するブロックがない場合、ファイル拡張を行う。
ext2_bread(iノード、オフセット、createフラグ) オフセットに対応するブロックのバッファを獲得(ext2_getblk関数) if(ディレクトリの拡張があった && ディレクトリプリアロケーションモード) { さらに一つブロックを先行拡張する(ext2_getblk関数) スーパブロックに指定された数分だけブロックを先行拡張する(ext2_getblk関数) } if(バッファの内容が有効) return バッファ バッファへブロックデータを読み込む(ll_rw_block関数、wait_on_buffer関数) return バッファ
問題点など
(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST1
[ページ情報]
更新日時: 2008-08-27 14:17:40, 更新者: hiromichi-m
[権限]
表示:無制限, 編集:ログインユーザ, 削除/設定:メンバー