Antonio SJ Musumeci
707d298d7c
Create functions can set branches RO on EROFS
1 year ago
Antonio SJ Musumeci
9adddfc66d
Add option to lazy umount target mount point
2 years ago
Antonio SJ Musumeci
c9a935835f
Fix query of attr during symlink
Using getattr when follow-symlink is enabled causes invalid type to the kernel
if symlink pointed to non-symlink.
3 years ago
Antonio SJ Musumeci
c43b464d6c
Call FUSE getattr rather than syscall for extra logic
While more efficient calling regular getattr (stat) leads to incorrect
information being returned and would not work correctly when using
symlinkify.
3 years ago
Antonio SJ Musumeci
8adebc9489
new features: follow-symlinks, rename-exdev, link-exdev
* follow-symlinks: allows mergerfs to transparently follow symlinks
* link-exdev: in the event a link returns EXDEV create a symlink instead
* rename-exdev: in the event a rename returns EXDEV move the oldpath and
create a symlink for the newpath
4 years 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
5a3184359d
rework some function error handling
chmod, chown, removexattr, setxattr, truncate, utimens:
* if no errors: return 0
* if no successes: return first error
* if file acted on was the same as related search function: return its value
* return 0
rmdir, unlink:
* if no errors: return 0
* return first error
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
ec15872a1f
cleanup function signatures and definitions
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