人柱継続中

ディレクトリ単位でのCOWを実現する手段を興味本位で探していたらUnionfsを使えば良いということが分かった。日本語で読める使い方はhttp://wind-master.dip.jp/soft-info/item/51など。
同様の機能のより良い実装を目指しているAufsというものもあるらしいけど、AufsのebuildはまだGentooのメインツリーには無いのでとりあえずパス。また、Unionfsはvanillaへのマージを目標に-mmに入ったところらしいので、カーネルをsys-kernel/mm-sources-2.6.22_rc4-r2に替えて試すことに。
mm-sourcesのビルドそのものは何の問題も無しに終了。x11-drivers/nvidia-driversのコンパイルがkmem_cache_tなんて型は知らんとかで通らなかったので、kmem_cache_tを使ってる部分をstruct kmem_cacheに書き換えたらコンパイル出来た。どうやら2.6.21までinclude/linux/slab.hにあった

typedef struct kmem_cache kmem_cache_t __deprecated;

という行が消されたかららしい。deprecatedって書かれていたくらいだから仕方がない。
あと、せっかくmm-sourcesに移ったんだから色々な意味で話題*1のreiser4でも使ってみよう、と思ったらmountが出来なかった。/proc/filesystemsにもreiser4が無いし……と思ったらfs/Makefileの時点でfs/reiser4以下のコンパイルすらされてなかった。どうやらmm/filemap.hが消えてコンパイル出来なくなっているかららしい。カーネル開発の最前線ってのはこんな感じなのか。