sourCEntral - mobile manpages

pdf

unionfs-fuse

NAME

unionfs−fuse − A userspace unionfs implementation

SYNOPSIS

unionfs−fuse [−o option1 −o option2 ... −o optionN ]
top_branch:lower_branch:...:lowest_branch
mount_point

DESCRIPTION

unionfs−fuse overlays several directory into one single mount point.

It first tries to access the file on the top branch and if the file does not exist there, it continues on lower level branches. If the user tries to modify a file on a lower level read−only branch the file is copied to to a higher level read−write branch if the copy−on−write (cow) mode was enabled.

OPTIONS

Below is a summary of unionfs−fuse options

−o cow

Enable copy−on−write

−o stats

Show statistics in the file ’stats’ under the mountpoint.

−o noinitgroups

Disable initgroups. Initgroups are enabled by default to supply supplementary user groups, but will cause a deadlock of unions including /etc.

EXAMPLES

 unionfs−fuse −o cow −o noinitgroups \
              −o default_permissions −o allow_other \
              −o use_ino −o nonempty \
              /u/host/etc=RW:/u/group/etc=RO:/u/common/etc=RO \
              /u/union/etc

Meta data

Like other filesystems unionfs-fuse also needs to store meta data. Well, presently only information about deleted files and directories need to be stored, but in future releases more information might be required, e.g. inode-numbers for persistent inode information. Meta data information are saved and looked for in the .unionfs/ directories of each branch-root. So in the example above, these are /u/host/etc/.unionfs, /u/group/etc/.unionfs and /u/common/etc/.unionfs. Within these directories a complete directory structure may be found. Example: If the admin decides to delete the file /etc/test/testfile, which only exists in /u/unionfs/etc/test/testfile, unionfs-fuse can’t delete this file, since it is on a read-only branch. So instead the whiteout file /u/host/etc/.unionfs/test/testfile_HIDDEN~ will be created. So on accessing the union filesystem, test/testfile will not be visible. Please also note that whiteout files/directories will only hide the files in lower level branches. So for example whiteouts in the group directory (/u/group/etc/.unionfs of the example above) will only hide file of the common branch (/u/common/etc), but not these of the group and host branches. Especially for diskless-booted environments it is rather useful for the admin to create whiteout files him/her-self. For example one should blacklist network re-initializations, /etc/mtab, /etc/nologin of the server and several cron-scripts. This can be easily achieved by creating whiteout files for these scripts in the group meta directory.

KNOWN ISSUES

1) Presently it is not possible to create a union for /. This is work in progress.
2) Another issue is that presently there is no support for read-only branches
when copy-on-write is disabled, thus, -ocow is NOT specified! Support for
that might be added in later releases.

AUTHORS

unionfs−fuse Original implemention by Radek Podgorny <radek AT podgorny DOT cz>

COPYRIGHT

Radek Podgorny <radek@podgorny.cz>, Bernd Schubert <bernd−schubert@gmx.de>

THANKS

Many thanks to the author of the FUSE filesystem Miklos Szeredi.

pdf