2010-12-29 6 views
3

리눅스 VFS 캐시는 FUSE 파일 시스템에서 기본적으로 작동하지 않는 것으로 보입니다. 예를 들어, "읽기"호출은 FUSE 파일 시스템으로 체계적으로 전달되는 것처럼 보입니다.FUSE 파일 시스템으로 Linux VFS 캐시를 사용할 수 있습니까?

필자는 FUSE 전용 원격 파일 시스템에서 작업합니다. 나는 매우 공격적인 캐시가 필요합니다.

내 페이지 캐시를 구현해야합니까? 또는이 특정 퓨즈 파일 시스템에 대해 Linux VFS 캐시를 활성화 할 수 있습니까? 아니면 누군가가 좋은 프록시/캐시 퓨즈 파일 시스템 (또는 C 라이브러리의 일종을 바퀴를 reinventing하지 않고도) 알고 있나요?

보너스 질문 :

난 내 자신의 페이지 캐시를 구현해야하는 경우, 내가 LRU 물건을 할 수있는 레디 스 데몬을 사용하는 것 같아요. 메타 데이터 캐싱에 좋은 옵션이 될 수 있다고 확신합니다. 그러나 페이지의 경우, 간단한 로컬 디렉토리 (VFS 캐시 포함) 나/dev/shm보다 더 좋을지는 잘 모르겠습니다. 그러나 나는 LRU 자동 청소를 잃을 것이다. 누군가가 자동 LRU 청소 기능을 가진 일종의/dev/shm을 알고 있습니까?

몇 가지 추가 정보 : 파일 시스템은 읽기 전용이며 원격 측은 거의 변경 불가능합니다. 원격쪽에는 로컬 디렉토리에 복사 할 수없는 매우 큰 파일이 들어 있습니다.

답변

1

FUSE에서는 VFS 캐시가 작동하지 않는다고 생각합니다. 퓨즈에 대한 캐싱 솔루션이 있거나 귀하의 솔루션을 구현할 수 있습니다.

작은 검색을 통해 fuse-cache을 찾았습니다. 그들은 그것이 간단하다고 주장한다.

+0

답장을 보내 주셔서 감사합니다. 하지만 퓨즈 캐시는 로컬 폴더에 복사 할 수없는 원격지에 매우 큰 파일이 있기 때문에 나에게 좋지 않습니다. 페이지 수준에서 캐시가 필요한 이유는 이러한 큰 파일 중 특정 부분 만 열리기 때문입니다. – Fabien

+1

그러면 일반 솔루션을 찾기가 어려워 보입니다. 너를 구현하려고 노력해라. –

0

FUSE auto_cache 옵션을 사용할 수 있습니다. FUSE는 데이터를 캐시하고 파일 크기 또는 수정 시간 소인이 변경되었는지 확인하기 위해 여러 메타 데이터 호출 만합니다.