Antonio SJ Musumeci
2722f4f64d
Fix error handling for cached writes
1 year ago
Antonio SJ Musumeci
6a14a10e6c
Fix read/write behavior and return value depending on direct_io
Also add parallel direct write option for 6.2+ kernels.
1 year ago
Antonio SJ Musumeci
82430e1079
Fix moveonenospc when file opened with append mode
1 year ago
Antonio SJ Musumeci
538467b86d
config: rework global config, remove rwlock, make branches RCU like
Also added unit tests. Should have done separately but found a number of bugs.
4 years ago
Antonio SJ Musumeci
1b26f4908e
general cleanup, slight memory reduction
4 years ago
Antonio SJ Musumeci
fc3453932a
branches: add per branch minfreespace w/ original value as default
example: /mnt/disk0=RW,1G:/mnt/disk1=RW,2G
4 years ago
Antonio SJ Musumeci
2fe20b888e
clean up and separate out fs_* files
4 years ago
Antonio SJ Musumeci
08d267fc61
moveonenospc: enhance the feature to allow using a policy
Just like functions you can now set a policy for moveonfreenospc. This
allows for more flexibility.
For backwards compatibility moveonfreenospc=true is converted to
moveonfreenospc=mfs.
minfreespace does apply which is slightly different from original behavior.
4 years ago
Antonio SJ Musumeci
c0990644e8
remove unnecessary libfuse flags nopath, nullpath_ok, and utime_omit_ok
4 years ago
Antonio SJ Musumeci
54c41c4994
rework config management
* Add standard way to do str2val and val2str conversion
* Add support for a config file
* Add support for reading and writing settings via ioctl
5 years ago
Antonio SJ Musumeci
9d9ee7b71d
general code cleanup
6 years ago
Antonio SJ Musumeci
87b2795f2b
set direct_io per open/create, now runtime configurable
6 years ago
Antonio SJ Musumeci
b55ebba4ed
add tagging branches RW/RO/NW
This allows users to tag a branch as readonly or not for writing regardless
of how the filesystem is mounted. Should simplify deployments and offer
more flexibility.
6 years ago
Antonio SJ Musumeci
87c2f2f9dc
add nullrw feature to facilitate benchmarking
8 years ago
Antonio SJ Musumeci
162b99e6b8
enable nopath and nullpath_ok
8 years ago
Antonio SJ Musumeci
1aa76a54c2
use different read and write functions when using direct_io
8 years ago
Antonio SJ Musumeci
1dc7bff6e6
wrap most posix filesystem functions
8 years ago
Antonio SJ Musumeci
3fb7f8919a
add EDQUOT to errors which trigger moveonenospc
8 years ago
Antonio SJ Musumeci
7e423cd9ce
small tweaks to build on Debian kFreeBSD
8 years ago
Antonio SJ Musumeci
242af777be
move from MIT to ISC license. closes #194
9 years ago
Antonio SJ Musumeci
5808ab7795
move on enospc when writing feature. closes #141
This feature mimics the standard mhddfs behavior but is more thorough.
If a write fails and the errno is set to ENOSPC then mergerfs will (if
the feature is enabled) attempt to move the file to the drive with
the most free space but only if it has enough room for the file plus
the amount to be written. If that transfer is successful it will then
unlink the original file and attempt the previously failed write again.
The copy includes copying the path and file including the acls, owners,
attributes, extended attributes, and timestamps.
9 years ago
Antonio SJ Musumeci
f130d07fd8
config get and struct naming cleanup
9 years ago
Antonio SJ Musumeci
983fa9100d
change fuse functions to use the fuse namespace
9 years ago
Antonio SJ Musumeci
91671d7364
remove FileInfo and keep only file descriptor
10 years ago
Antonio SJ Musumeci
7e9ccd0317
support runtime setting of srcmounts. closes #12
10 years ago
Antonio SJ Musumeci
7b0d703f00
only allow manipulation of runtime settings via xattrs. closes #22
10 years ago
Antonio SJ Musumeci
ccb0ac1463
generate the controlfile data on the fly. closes #19
11 years ago
Antonio SJ Musumeci
0e12d79659
platform specific code to deal with sete{u,g}id. closes #17
11 years ago
Antonio SJ Musumeci
aab90b0503
rework policy code
11 years ago
Antonio SJ Musumeci
16fe0cf90c
remove statfs policy
11 years ago
Antonio SJ Musumeci
bb7a966296
initial code commit
11 years ago