キャッシュサーバの squid の coss というファイルシステムが良い感じという噂をもとに、どういうものなのかチラ見してみようと思い、いじってみることに 最速配信研究会 2006-10-26 squid2.6のCOSSの話(その2) naoyaの日記: 2006-12-18 squid coss 会社に出社したけど暇なので調べていた。 こんな感じにビルド。 ./configure --enable-storeio="ufs aufs coss" make --enable-storeio= でキャッシュに使うファイルシステムを指定します。 coss を使うときには aufs も同時に指定しないと aio* な関数が undefined になるので同時指定が必要です。 とりあえずビルドはできたのですが、COSSを使ったファイルシステムの設定・構築の方法を調べるのが面倒だったので、後回し。 COSS のソース読んでどのようなAPIになっているのか見てみたところ、こんなインターフェースが準備されていると思ってよいのかな。 $ less src/fs/coss/store_coss.h ... 省略 ... #define SWAPDIR_COSS "coss" #if USE_AUFSOPS /* XXX a hack; the async ops should be broken out! */ typedef void AIOCB(int fd, void *cbdata, const char *buf, int aio_return, int aio_errno); void aioWrite(int, off_t offset, char *, int size, AIOCB *, void *, FREE *); void aioRead(int, off_t offset, int size, AIOCB *, void *); void aioInit(void); int aioCheckCallbacks(SwapDir *); void aioSync(SwapDir *); void squidaio_init(void); void squidaio_shutdown(void); extern i...