Differences between revisions 10 and 26 (spanning 16 versions)
Revision 10 as of 2006-02-01 22:13:59
Size: 1151
Comment:
Revision 26 as of 2006-08-06 23:39:27
Size: 1824
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, will only minor convenience issues to be fixed...

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 22: Line 36:
 * Add support for creating directories
Line 27: Line 40:
[[GoogleAd()]]
Line 29: Line 44:
 * Latest version: 0.10 (released 2006-02-01)  * Latest version: 0.15 (released 2006-08-07)
Line 31: Line 46:

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, will only minor convenience issues to be fixed...

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