akachochinこと吉田です。

a.mさんがどの程度カーネルのソースやら本やらを読んだのかはわかりませんが...。

まず、藤原さんも言われるようにいきなりZFSは厳しいと想像します。
(かくいう私もZFSのソースは読んだことはありませんが、少なくともBSD実装ではファイルキャッシュが他のファイルシステムとは異なる独自実装である旨聞いているので、いきなり相手にするには厳しいかな、と想像する次第です。)

なので、藤原さんのいうとおり、他のファイルシステムをわかって読んだ方がよいかと思います。
Solaris Internalにいきなり飛び込むのも手ですが、いきなり英語は辛いでしょうから、日本語で書かれた
http://www.amazon.co.jp/UNIX%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AE%E9%AD%94%E6%B3%95%E2%80%95System-V%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B94%E3%81%AE%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E3%83%90%E3%83%BC%E3%83%8B%E3%83%BC-%E3%82%B0%E3%83%83%E3%83%89%E3%83%8F%E3%83%BC%E3%83%88/dp/4894712156
のファイルシステム回りに限定して拾い読みするのが吉。(VFSの概要も書かれています。)
たぶん大学の図書館に行けばあると思います。それからufsに行っても遅くないと思います。
(ちなみに、自分は組み込み系の業務でUnix系のソースいじったので、最初はmsdosfs(FAT)が最初でした)

先に紹介したものでも構わないので、Unixの実装解説を日本語でした本と、Solaris
Internalsを手元においてufsなりその他のファイルシステムなりを攻める。
(やはり、母国語で書かれた本のほうが、概要理解には適切。)

ここでは細かい実装は気にせず、おおざっぱに「ふーん、こんなことしているんだー」レベルで構わないのでファイルシステムの各I/Fが何をしているのか、概要を理解するようにする。

それでイメージができた後で、本丸を攻める。
まず、open,readあたりでデータ構造の概要を描いたあと、より複雑になりがちなwriteを攻めてみるというのが無難そうな気がします。
(zfs読んだことないので、想像でしか言えないのが申し訳ないですが。)

それでは。
_______________________________________________
ug-jposug mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/ug-jposug

メールによる返信