Differences between revisions 5 and 25 (spanning 20 versions)
Revision 5 as of 2006-01-27 18:46:30
Size: 896
Comment:
Revision 25 as of 2006-08-06 23:27:25
Size: 1888
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= unionfs-fuse = = Foreword =
Line 3: Line 3:
This is my effort to create a unionfs implementation which is probably slower but way more flexible than the current in-kernel unionfs solution. This is my effort to create a unionfs filesystem implementation which is probably slower but way more flexible than the current in-kernel unionfs solution. Currently it's almost fully usable, the only problem is new file/directory creation which I will fix soon...

I'm open to patches, suggestions, whatever (at radek@podgorny.cz)...

[[GoogleAd()]]
Line 15: Line 19:
== Available parameters == == Usage ==
Line 17: Line 21:
 * {{{--roots=/root1,/root2}}}
 * {{{--stats}}}
{{{
unionfs [options] root[:root...] mountpoint
The first argument is a colon separated list of directories to merge

general options:
    -o opt,[opt...] mount options
    -h --help print help
    -V --version print version

UnionFS options:
    -o stats show statistics in the file 'stats' under the mountpoint
}}}
Line 25: Line 39:
 * Handle writing to /stats intelligently
Line 26: Line 41:
attachment:unionfs.c [[GoogleAd()]]

== Download ==

 * Latest version: 0.15 (released 2006-08-07)
 * Archive location: http://podgorny.cz/unionfs-fuse/releases/

If you want to follow the development closely, see my experimental mercurial repository at:

 * http://hg.podgorny.cz/unionfs-fuse

My older tinyrcs repository is at:

 * http://podgorny.cz/~radek/rep/unionfs-fuse/

(tinyrcs is my currently-under-development revision control system) -> ["TinyRCS"]

Foreword

This is my effort to create a unionfs filesystem implementation which is probably slower but way more flexible than the current in-kernel unionfs solution. Currently it's almost fully usable, the only problem is new file/directory creation which I will fix soon...

I'm open to patches, suggestions, whatever (at radek@podgorny.cz)...

GoogleAd()

Why choose this stuff

  • The filesystem has to be mounted after the roots are mounted when using the standard module. With unionfs-fuse, you can mount the roots later and their contents will appear seamlesly
  • You get caching which speeds things up a lot for free
  • You get nice stats (optional)

Why NOT choose it

  • Compared to kernel-space solution we need lots of useless context switches which makes kernel-only solution clear speed-winner

Usage

unionfs [options] root[:root...] mountpoint
The first argument is a colon separated list of directories to merge

general options:
    -o opt,[opt...]        mount options
    -h   --help            print help
    -V   --version         print version

UnionFS options:
    -o stats               show statistics in the file 'stats' under the mountpoint

TODO

  • Add support for creating directories
  • Add support for choice which roots are read-only and which are not
  • Add cache controls
  • Handle writing to /stats intelligently

GoogleAd()

Download

If you want to follow the development closely, see my experimental mercurial repository at:

My older tinyrcs repository is at:

(tinyrcs is my currently-under-development revision control system) -> ["TinyRCS"]