1.0.11 GPL (GNU General Public License)    
3.5/5 22
unionfs is a stackable filesystem which merges different directories.




Unionfs is a stackable unification file system which can appear to merge the contents of several directories (branches), while keeping their physical content separate. It is useful for unified source tree management, merging the contents of a split CD-ROM, merging separate software package directories, data grids, and more.

Unionfs allows any mix of read-only and read-write branches, as well as insertion and deletion of branches anywhere in the fan-out.

To maintain Unix semantics, Unionfs handles elimination of duplicates, partial-error conditions, and more.


- unionfs.o: the kernel module

- unionctl: a user utility which allows you to add and remove branches

You should be able to just type "make" and Unionfs will build itself. The Makefile will look for your running kernel sources in /lib/modules/`uname -r`/build/include. If your kernel sources are located in a different directory, create a "fistdev.mk" file along the lines of: TOPINC=-I/path/to/my/kernel/sources/linux-2.4.xx/include

There are two Makefile options related to extended attribute support, which is turned off by default. You should define UNIONFS_XATTR to turn it on. Vanilla kernels should work automatically, but if you (or your vendor) has applied the ACL/EA patches you might need to define FIST_SETXATTR_CONSTVOID to correct the setxattr operation's function

Using fistdev.mk, you can also turn off the debugging print system, which adds to the modules code size significantly. Just add "EXTRACFLAGS=-DNODEBUG" to fistdev.mk.

The doit.sh script included in the distribution will mount unionfs with two branches (/branch0 and /branch1) by default. You can use it as an example and edit to your tastes.

To install unionfs run "make install". This copies unionfs.o into /lib/modules/`uname -r`/kernel/fs/; copies the utilities into /usr/local/sbin; and copies man pages into /usr/local/man;

What's New in This Release:

rdstate.c (find_rdstate): Factor out rdstate search.
file.c (unionfs_dir_llseek): Use rdstate if it exists.
Last updated on April 8th, 2005

0 User reviews so far.