ソースコード

著者: momokuri Eメール

ソースコード読み


今日は、ソースコードを読んだのである。

単に読むのではなく、目的を持って読んだのである。
writeシステムコールを呼び出したときに、O_SYNCオプションをつけると、確実にディスクに書いたことを保障される、はずである。Linuxシステムではどうなのか、分析を行った。

分析には、クロスリファレンスLinuxというサイトが便利だ。
http://lxr.linux.no/

このサイトはブックマークして、参照すべきサイトである。
で、分析では、もう一人の研究員とペアプログラミングよろしく議論しながら読んでいった。この関数はなんだろう。この構造体は。ここでは何がおこっているのか。

一人では見逃しがちな点も、二人ならば補完しあって進むので、すごい勢いで分析が進む。

結論としては、Linuxのメジャーなすべてのファイルシステムで、カーネルの共通部分のルーチンに依存しており、その共通部分(fs/buffer.c)では、「確実に書き込む」ことはやっていない、ということがわかった。

この記事へのトラックバック アドレス

トラックバック URL (右をクリックし、ショートカット/リンクをコピーして下さい)

フィードバックはまだありません...

コメントを残す


頂いたEメールアドレスはこのサイト上には表示されません

頂いたURLは表示されます。
(改行が自動で <br /> になります)
(名前、Eメールとウエブサイト)
(ユーザに、メッセージ・フォームを通じた連絡を許可します (あなたのEメール・アドレスは表示されません))