Differences between revisions 14 and 25 (spanning 11 versions)
Revision 14 as of 2006-04-15 19:34:19
Size: 1259
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 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. Currently it's almost fully usable, the only problem is new file/directory creation which I will fix soon... 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...
Line 19: Line 19:
== Available parameters == == Usage ==
Line 21: 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 35: Line 45:
 * Latest version: 0.10 (released 2006-02-01)  * Latest version: 0.15 (released 2006-08-07)
Line 37: Line 47:

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"]