2010-12-29 3 views
3

LinuxのVFSキャッシュは、FUSEファイルシステムではデフォルトでは動作しないようです。たとえば、 "read"コールはFUSEファイルシステムに体系的に転送されているようです。FUSEファイルシステムでLinux VFSキャッシュを使用することは可能ですか?

私はFUSE固有のリモートファイルシステムで作業します。私は非常に積極的なキャッシュが必要です。

独自のページキャッシュを実装する必要はありますか?または、この特定のFUSEファイルシステム用にLinux VFSキャッシュを有効にすることは可能ですか?それとも、誰かが良いプロキシ/キャッシュFUSEファイルシステム(またはホイールを再発明せずに行うためのCライブラリの種類)を知っていますか?

ボーナス質問:

私は自分のページのキャッシュを実装する必要がある場合、私はLRUのものを行うためにRedisのデーモンを使用すると思います。私はそれがメタデータをキャッシュするための良いオプションになることはほとんど確信しています。しかし、ページでは、単純なローカルディレクトリ(VFSキャッシュ付き)や/ dev/shmよりも優れているかどうかはわかりません。しかし、私はLRU自動クリーニングを失います。誰かが/ dev/shmを自動LRUクリーニングで知っていますか?

いくつかの追加情報:ファイルシステムは読み取り専用で、リモート側はほぼ不変です。リモート側には、ローカルディレクトリにコピーできない非常に大きなファイルが含まれています。

答えて

1

FUSEではVFSキャッシュが動作しないと思います。 FUSE用のキャッシュソリューションがありますか、またはあなたが実装することができます。

小さな検索で、私はfuse-cacheを見つけました。彼らはそれが簡単だと主張する。

+0

ご返信ありがとうございます。しかし、私はローカルディレクトリに単にコピーすることはできませんリモート側に非常に大きなファイルを持っているので、ヒューズキャッシュは私にとっては良くありません。私はページレベルでキャッシュを必要とします。なぜなら、これらの大きなファイルの特定の部分だけがオープンしているからです。 – Fabien

+1

それでは、一般的な解決策を見つけるのは難しいようです。あなたを実装しようとする。 –

0

FUSE auto_cacheオプションを使用できます。 FUSEはデータをキャッシュし、ファイルサイズまたは変更タイムスタンプが変更されたかどうかをチェックするために、いくつかのメタデータ呼び出しのみを行います。

関連する問題