
The driver combines a several mount points into the single one.

Using
~~~~~
mhddfs /path/to/dir1,/path/to/dir2[,/path/to/dir3] /path/to/mount
fusermount -u /path/to/mount

with an "-o option" you can specify some additional options:

-o logfile=/path/to/file.log  
	specify a file that will contain debug information.

-o loglevel=x
  0 - debug messages
  1 - info messages
  2 - standart (default) messages

-o mlimit=size[m|k|g]

        a free space size threshold
	If a drive has the free space  less  than  the	threshold
	specifed  then	another  drive	will  be  choosen   while
	creating a new file.  If all the drives have  free  space
        less than the threshold specified then a drive containing
        most free space will be choosen.

Default value is 25%, minimum value is 100M.
This option accepts suffixes:
[mM] - megabytes
[gG] - gigabytes
[kK] - kilobytes
[%]  - percent

If mlimit is equal 100% or contain a number which is more than the
largest of mount directories, mhddfs will try to allocate files
regularly.

For an information about the additional  options  see  output  of
'mhddfs -h'.

It's necessary to get installed fuse-utils,  libfuse  for  driver
working.

Working
~~~~~~~

Consider we have two hard drives with the content below:

/hdd1             /hdd2
|                 |
+-- /dir1         +-- /dir1
|   |             |   |
|   +- file2      |   +- file4
|                 |   +- file2
+-- file1         |
|                 +-- file5
+-- /dir2         |
    |             +-- /dir3
    +- file3          |
                      +- file6

mounting this tree with the command:

mhddfs /hdd1,/hdd2 /hdd_common

into the specified file system point we will see a combined tree.

In the united tree we can see all the directories and files. Note
file2 of 2nd hdd is not visible (because 1st hdd  has  the  file2
already).

/hdd_common
|
+-- /dir1
|   |
|   +-- file2  -> /hdd1/dir1/file2
|   +-- file4
|
|-- /dir2
|   |
|   + file3
|
+-- /dir3
|   |
|   +-- file6
|
+-- file1
+-- file5


While writing files they are written to a 1st hdd until  the  hdd
has the free space (see mlimit option), then they are written  on
a 2nd hdd, then to 3rd etc.

df will show a total statistics of all filesystems like there  is
a big one hdd.

If an overflow arises while writing  to  the  hdd1  then  a  file
content already written will be transferred to a  hdd  containing
enough of free space for a file.  The transferring  is	processed
on-the-fly,  fully  transparent  for  the  application	that   is
writing.   So  this  behaviour	simulates  a  big  file   system.

WARNING: The filesystems are combined must provide a  possibility
to get their parameters correctly (e.g.   size	of  free  space).
Otherwise the writing failure can  occur  (but	data  consistency
will be ok anyway).  For example it is a bad idea  to  combine	a
several sshfs systems together.

File system's functions
~~~~~~~~~~~~~~~~~~~~~~~

Most of the functions are supported.

Functions are supported:
- get/set attributes of file system objects;
- get/set file system information (total size, size of
  free space is calculated as summary size of file systems);
- read/remove/create directories;
- read/remove/create/write files;
- symbolic links;
- device files, sockets and fifo;
- file locks;
- hardlinks (only on a single device; no moving support for 
  hardlinked files)
- extended file attributes (xattr);

Install
~~~~~~~

It's neccessary for install to have:
1. FUSE header files
2. GCC  
3. libc6 header files

Run 'make' in the source directory produces mhddfs binary. 

Put the binary into /usr/bin or /usr/local/bin and now you
can use it.

Please read FUSE documentation for a further conception.


GET IT
~~~~~~

Last version of the mhddfs drivers you can get at 
http://mhddfs.uvw.ru/downloads.
SVN version is located at: http://svn.uvw.ru/mhddfs/trunk
To checkout SVN files run:

svn co http://svn.uvw.ru/mhddfs/trunk mhddfs


BUGS
~~~~
Please use Debian-BTS as the bugtracking system.   Feel  free  to
submit a bug information to  the  Debian  bugtracker  for  mhddfs
project. See the additional information here:
http://www.debian.org/Bugs

COPYRIGHT
~~~~~~~~~
Distributed under GPLv3 and higher
Copyright (C) 2008 Dmitry E. Oboukhov
