Project: CRFS

[ Project Home  |  News  |  Downloads  |  Docs  |  Mailing Lists  |  Source Control  |  Issues ]

Project Description: A Cache Coherent Networked File System
License: GPL
CRFS

CRFS introduction

CRFS is a network protocol that lets clients share access to a file system which is hosted on a server. Its main features include:

  • general-purpose "posix" file system semantics
  • cache coherency
  • aggressive metadata performance
  • efficient and flexible snapshots
  • robust data integrity protection

The implementation hosted here includes a client module for the Linux kernel and a UNIX user space server daemon.


Status as of March, 2008

CRFS is in the initial phase of design and implementation. It is not ready for stable use and should not be trusted to reliably store data.

CRFS is made available at this early a stage so that people can participate in the design and implementation of the system.

The following major changes will happen in the not too distant future:

  1. basic file data coherency protocol
  2. extending coherency protocol to cover metadata
  3. update to a modern BTRFS disk format

Announcements of major changes in the status of the CRFS project will be sent to the crfs-announce mailing list.


How to help

The brave can try running the software and will quickly cause it to fail. Reporting failure on the crfs-devel mailing list will help us understand what functionality to focus on initially.

If crashing your machine doesn't sound like a fun time, reporting what you would like CRFS to do well on the crfs-users mailing list would also help us understand the user base that much better.

Maybe you've always wanted to maintain a FUSE client for an unstable network protocol which is undergoing rapid change. Now's your chance!


Installation instructions

Download the source and follow the instructions contained in the 'docs/developer-instructions' file

$ hg clone http://oss.oracle.com/mercurial/zab/crfs crfs
$ less crfs/docs/developer-instructions

Send a mail to crfs-devel and let us know how it goes!