CoreFS

General Information
CoreFS is a very basic network file system built on top of FUSE. The file system allows users to access files stored on the file server from remote machines. The goal of this file system is to give file system developers some form of basic distributed file system, which can be later modified as per the implementor's requirement. We will provide some core features - hence the name "coreFS". Hopefully, this file system can prove to be good starting point for someone who is planning to implement distributed file systems using FUSE.

Note, this file system does not include any security functionalities. This is not a file system to be deployed in practice as is; rather, it is for the programmers to extend it as they wish. In the future, we will extend coreFS to add some nice security features. There are several functions missing from coreFS, which will be added in the next release. This is a on-going implementation project.

coreFS is distributed in the hope that it will be useful, but without any form of warranty.

Version
1.0

Dependencies
Requires FUSE library and modules. See http://fuse.sourceforge.net/. This code was tested with version 2.5.3.

Download
Click here.

Installation
cd src
make

How To Use
Like most of the file systems using FUSE
  1) run 'bin/dclient -d mnt'
  2) ls -al mnt/

Currently we simply export the root of the file system!

Security
**NONE**

TODO
The list is endless, for now:
- Export only appropriate directories and perform path checking
- Make client multi-threaded to allow asynchronous calls
- Support all system calls
- Implement caching
- Security
- Handle uid and gid in a better way

Support
This material is based upon work supported by the National Science Foundation under Grant No.  0448423 and 0621462 and DTC Intelligent Storage Consortium (DISC). Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF) and DISC.

People
Vishal Kher Email: vkher (at) cs (dot) umn (dot) edu
Matt Kokotovich Email: koko (at) cs (dot) umn (dot) edu
Eric Seppanen
Yongdae Kim Email: kyd (at) cs (dot) umn (dot) edu