2015年5月4日更新
bloomフィルタ付きventiを作る
現在の(ベル研が配布している)インストールCDは、 ventiのbloomフィルタを作成しません。 インストールが終わってからbloomフィルタを追加するのは ディスクを追加したりと面倒なので、インストール時に作っておきます。
インストール中で
CDイメージからブートしたら、prepdiskまではそのまま進めます。 prepdiskまで進んだら、別のwindowを開いてprepdiskを手動実行します。
% disk/prep -a 9fat -a nvram -a arenas -a isect -a bloom -a fossil -a swap /dev/sdC0/plan9
% disk/prep -p /dev/sdC0/plan9 >/dev/sdC0/ctl
終わったらwindowを閉じて、prepdiskを実行しますが、 prepdiskは終わっているので、そのままqでprepdiskを抜けて次へ進めます。
初回ブートのあと
/dev/swapの値を以下に設定して、bloomsizeを計算します。
#!/usr/bin/awk -f
BEGIN {
# cat /dev/swap
pgsize = 4096 # /dev/swapのpagesize
userused = 1424 # /dev/swapのuser左側
userpgs = 458749 # /dev/swapのuser右側
userfree = (userpgs-userused)*pgsize
bloomsize = 2 ^ int(log(userfree/1024/1024*20/100*1/3) / log(2))
print bloomsize
}
上記結果をfmtbloomの-sオプションに与えてフォーマットします。
% venti/fmtbloom -s 64m /dev/sdC0/bloom
あとはventi.confにbloomを設定します。
% venti/conf /dev/sdC0/arenas >/tmp/venti.conf
(isectとarenasの間あたりに追加)
bloom /dev/sdC0/bloom
% venti/conf -w /dev/sdC0/arenas /venti.conf