* Handling of writes to full drives (transparently move file to drive with capacity)
* Handling of writes to full drives (transparently move file to drive with capacity)
* Handles pool of read-only and read/write drives
* Handles pool of read-only and read/write drives
* Turn read-only files into symlinks to increase read performance
* Can turn read-only files into symlinks to underlying file
* Hard link copy-on-write / CoW
# How it works
# How it works
@ -56,7 +57,7 @@ A + B = C
+-- file6
+-- file6
```
```
mergerfs does **not** support the copy-on-write (CoW) behavior found in **aufs** and **overlayfs**. You can **not** mount a read-only filesystem and write to it. However, mergerfs will ignore read-only drives when creating new files so you can mix rw and ro drives.
mergerfs does **not** support the copy-on-write (CoW) behavior found in **aufs** and **overlayfs**. You can **not** mount a read-only filesystem and write to it. However, mergerfs will ignore read-only drives when creating new files so you can mix read-write and read-only drives.
# OPTIONS
# OPTIONS
@ -348,30 +349,22 @@ $ make
$ sudo make install
$ sudo make install
```
```
#### Generically with system libfuse
#### Build options
**NOTE:** Configurable threading and thus `-o threads=num` option will be unavailable when built with system libfuse.
Have git, g++, make, python, pkg-config installed.
Also, install libfuse >= 2.9.7 (but not libfuse-3.x) and matching libfuse-dev (or libfuse-devel).
```
$ cd mergerfs
$ make INTERNAL_FUSE=0
$ sudo make INTERNAL_FUSE=0 install
```
```
$ make help
usage: make
#### Other build options
```
$ make STATIC=1 # builds a static binary
$ make LTO=1 # perform link time optimization
make USE_XATTR=0 - build program without xattrs functionality