Pimp Your Filesystem
The RedirFS or redirecting file system is a new layer between virtual file system switch (VFS) and file system drivers. It is implemented as an out-of-kernel module for Linux 2.6 and it provides framework allowing modification of file system calls in the VFS layer. The RedirFS by itself does not provide any additional functionality and if it is loaded into the Linux kernel, it just occupies some memory space and it does practically nothing. Now you maybe ask yourself a question: "So what is it good for then?". The RedirFS is intended to be used by so-called filters. Filter is a linux kernel module (LKM) that uses the RedirFS framework. Each filter can add some useful functionality to the existing file systems like transparent compression, transparent encryption, merging contents of several directories into one, allowing writing to a read-only media and others. Filter can set pre and post callback functions for selected file system calls (e.g. read or open) and include or exclude directories or single files for which its callback functions will be called. Every filter has its priority - a unique number that defines in which order will the filters be called. The RedirFS manages all filters and calls their callback functions in order specified by their priorities. While the RedirFS is located in the VFS layer, filters can be used generally in all file systems (e.g. ext2, nfs, proc). In addition, the RedirFS allows filters to be on-the-fly registered and unregistered.
RedirFS Features
[+]
- provides framework allowing to redirect file system calls in the VFS layer
- is implemented as an out-of-kernel module for Linux 2.6
- is able to register, unregister and manage one or more filters
- allows filter to set its callback functions on-the-fly
- allows filter to include and exclude its paths on-the-fly
- allows filter to forward data from pre to post callback function
- allows filter to attach its private data to VFS objects
- allows filter to do subcalls for selected file system calls
- calls pre and post callback function of filters in fixed order specified by their priorities (call chain)
- reacts on return value from filter and it is able to interrupt filters call chain
- redirects only operations selected by one or more filters, all other operations go directly to the file system with no time overhead
- modifies only VFS objects which belong to paths selected by one or more filters
News
2008-07-01
- RedirFS 0.3-pre2 released.
- fixed removing of rfs_file objects
- added support for file systems which are adding dentry/inode objects during readdir (e.g. NFS)
- DummyFlt 0.2-pre2 released.
- proper unregistration after error in the init module function
2008-06-27
- RedirFS 0.3-pre1 and DummyFlt 0.2-pre1 released. RedirFS Framework is completely rewritten and it has slightly different interface then 0.2 version. This means that all filters need to be adapted to this new interface. New DummyFlt 0.2-pre1 can be used as an example how to do it. For now RedirFS 0.3-pre1 also does not implement all features introduced in the 0.2 version like support for private data, address space operations and only several operations can be redirected. This version contains new path management which is not based on path names and it should safely handle renames.
2008-05-26
- All services should work again. Sorry for all that troubles.
2008-05-24
- It tooks one month to transfer .org domain from one holder to another (we need to transfer it from Grisoft to FUT VUT because of the hosting). Never ever...
- now the nameservers for redirfs.org are directed correctly to FIT BUT, so web should work again. It will take another 2-3days before mail do.
2008-04-24
- RedirFS server was moved to FIT BUT as previous hosting was not good enough. IP address of the server has changed with this.
2007-11-29
- RedirFS server has new IP address 212.96.161.248
2007-11-23
2007-11-04
- Presentation slides for the LinuxAlt conference are available at the documentation page.
2007-10-29
2007-10-22
2007-10-16
- RedirFS 0.2 has been released. It is rewritten from scratch with focus on SMP safety and it has implemented almost all planned features. Please note that this version is intended for public testing and bug hunting. It is highly recommended to use it only on testing computer where system crash can not cause any harm. Bugs can be reported in the RedirFS's bugzilla.
- DummyFlt 0.1 has been released. It is dummy testing filter and it can be used as an inspiration for your own filter.
2007-09-11
- There is going to be a RedirFS presentation on Sunday 4th November 10:00 - 10:50 at Linuxalt 2007. Conference takes place in Brno, Czech Republic at FIT BUT. Note that the web pages and whole conference is Czech only.
2007-05-17
older news
[+]
2007-04-12
- www.redirfs.org was out-of service for a while as we did system upgrade.
2007-04-06
- Made the first performance test of the new RedirFS implementation. For more info check out Humpback's blog.
2007-03-28
- Completely new version from branch redirfs_new hit the trunk!
2006-09-20
- There are several year projects held on FIT BUT related to RedirFS.
2006-03-29
- Server has been moved to GTS Novera Brno. New IP is 195.39.104.66. For now there could be some problems with the SSH connection. This will be fixed soon.
2006-03-16
2006-02-28
- Package with RedirFS patch for Dazuko 2.1.0 is available at download page. For installation please see the INSTALL file.
2006-02-24
- Version 0.1 of RedirFS is now available. This version is intended for public testing and it is strongly recommended to use it on testing machines where filesystem violation is acceptable. For now it has several limitations and it should be used carefully. It was tested on x86(i386) and x86_64 architectures(if it works for you on other architectures please let us know) and works with Linux 2.6 kernels only. For compilation and instalation please follow the INSTALL file. New version can be download from the download page.
- Dummyflt is available for testing and it can be used as a template for new Filter. (available in SVN only)
- Dazuko Filter is available as a patch for the Dazuko 2.1.0. It allows Dazuko to generate ON_OPEN, ON_EXEC, ON_CLOSE, ON_RMDIR and ON_UNLINK events. (available in SVN only)
2006-02-21
- Makefile for redirfs module was improved to "check" for necessary directories
- We checked (cross) compilation on AMD64
- Ideas for MSc and Bc project for FIT BUT are now collected and described in Documentation
- HTML version of documentation is now available in the Documentation section or directly at http://www.redirfs.org/docs/thesis/
2005-11-13