What is TsumuFS?TsumuFS is a disconnected, offline caching filesystem layer on top of NFS in the spirit of fexd and other caching filesystems (like Coda or Intermezzo). While these other filesystems require specific server-side support, TsumuFS is designed to be simple and elegant by solving only the caching issue, and not the filesystem protocol itself.
GoalsReliability. Allow users to continue working on a locally saved copy of their files if the local nfs server goes away (ie: down) People efficient. Provide a way after the file server comes back up for all changes to be integrated to the filer seamlessly and without user interaction unless a conflict from a concurrent change has occurred. Network/Infrastructure efficiency. Provide for an alternative to moving users' home directories around the various global filers. Consistent user feedback. Provide timely and helpful information to the user of the state of the filesystem in the form of socket or /sys IPC. Direct control over the cached data. It should be possible to exclude files from the cache entirely, and to persistently keep a set of files in the cache. Non goalsTsumuFS should NOT reimplement the network filesystem protocol. NFS is tried and true, and well supported as-is on most architectures -- TsumuFS only augments the NFS layer. It should NOT provide policy or infrastructure for the encryption of the file store. TsumuFS should function at the VFS layer ONLY -- encryption of the underlying file store is up to the administrator. It should NOT implement an entire filesystem to store cached data and the state of TsumuFS's world. As TsumuFS functions at the VFS level, the underlying filesystems should be used for storage.