とりあえずFUSE-pythonを使ってみる

FUSE-pythonを使ってみてる、が情報が少な過ぎる。公式情報はプログラムが載っているだけだし、何をすればいいのやら。


と思いつつ調べてたら、なんかのはずみでこんなページを発掘。
http://blog.koshigoe.jp/archives/2007/04/fuse.html
FUSEを使って小さなFSを実装してみた実例。なるほどね、要するにオーバーライドしてしまえばいいんだ。
ファイルに対する保存、読み出し、情報取得等の各種操作全てのコントロールユーザランドに戻ってくるので、それぞれのシステムコールに対応するメソッドを自分の望む形に実装すればいいわけだ。
さいわいgoogleでmanpage検索すればシステムコールの意味を日本語で知ることが出来る(いやman読めよ)から、あとはその対応を考えるだけ。楽々。


楽々とは言ったものの、ここからが本当の地獄だという話もあって、恐らくはそっちが正解。
例では、なんかよくわからないメソッドを定義してる。getattrとmythread。なんなんだこれ。getattrは getattr(hoge, 'fuga') が hoge.fuga() と等価だとか各所に書いてあるけど、このgetattrの第二引数がpathになってる。たとえば getattr(hoge, '/usr/bin') などというものが考えられるわけで、そしたらそれは hoge./usr/bin になるわけで…うーん…?path解決用に使われるメソッドかしらね??
mythreadは本当に情報が無い。単なる具体例か?


おまけ。.bssを初期化せずに使ったら上司に怒られるよ、という話。
http://www.ertl.jp/~takayuki/readings/info/
Cの仕様などにも触れられていて、なんかいい感じのページ。暇なときに読む。