Antonio SJ Musumeci
2061211894
fix rename failing on non-path preserving policies
9 years ago
Antonio SJ Musumeci
12cf57dc5a
re-add minfreespace check to epmfs policy
9 years ago
Antonio SJ Musumeci
4ecf3c5797
clearly separate usage of statvfs from stat for file existance
Used statvfs to also check for existance vs lstat. On dead symlinks
this resulted in ENOENT making certain functions fail.
closes #239
9 years ago
Antonio SJ Musumeci
779143f4b6
add minfreespace checks to policy ff's create and remove fwfs
fwfs is now covered by ff with the minfreespace and readonly checks
9 years ago
Antonio SJ Musumeci
14886a27f4
add readonly and minfreespace filters to all policy for creates. closes #236
9 years ago
Antonio SJ Musumeci
9819cf6133
fix clonepath being called on wrong source
9 years ago
Antonio SJ Musumeci
e593927095
normalize error handling in rename policy
9 years ago
Antonio SJ Musumeci
7c85cd906a
ff policy tweaks
9 years ago
Antonio SJ Musumeci
5cf3bb7c98
override standard libfuse version flag
9 years ago
Antonio SJ Musumeci
25a039942c
minor tweaks to filesystem utility functions
9 years ago
Antonio SJ Musumeci
792c9b9808
use stat/2 rather than statvfs/2 to find file drive
9 years ago
Antonio SJ Musumeci
d4ec341c4f
remove unnecessary policies
9 years ago
Antonio SJ Musumeci
5813d1e477
ignore drives mounted as readonly from create policies. closes #224
9 years ago
Antonio SJ Musumeci
f3e75a0544
use stat.st_dev to uniquely identify mounts for statfs. closes #213
9 years ago
Antonio SJ Musumeci
b3248a8f78
simplify policies
9 years ago
Antonio SJ Musumeci
7bf1ca45e4
add existing path, least free space policy. closes #216
9 years ago
Antonio SJ Musumeci
6086620e23
use references to srcmounts rather than copies
9 years ago
Antonio SJ Musumeci
f779f82ed6
fix statvfs drive dedup. closes #209
9 years ago
Antonio SJ Musumeci
ea325755a7
make symlink function like mknod/mkdir. closes #204
9 years ago
Antonio SJ Musumeci
1d1694bbb5
fix indexing of mknod targets. closes #202
9 years ago
Antonio SJ Musumeci
25265f4e85
dedup based on full statvfs struct rather than fsid. closes #183
9 years ago
Antonio SJ Musumeci
62f8fc524e
have link act similar to rename
closes #193
9 years ago
Antonio SJ Musumeci
242af777be
move from MIT to ISC license. closes #194
9 years ago
Antonio SJ Musumeci
4c77ac4d24
all action functions return success should at least one succeed. closes #189
9 years ago
Antonio SJ Musumeci
a3e6a0352d
rework rename algo to minimize likelihood of EXDEV being returned. closes #187
9 years ago
Antonio SJ Musumeci
eb6d1a1bc2
change to using template for policy class
9 years ago
Antonio SJ Musumeci
c731b7035c
fix building without xattr
9 years ago
Antonio SJ Musumeci
9e24796429
add mergerfs pid to xattrs
9 years ago
Antonio SJ Musumeci
5e880bddba
use SYS_setgroups rather than setgroups
9 years ago
Antonio SJ Musumeci
93cedabe9c
fix misc issues flagged by clang scan-build
9 years ago
Antonio SJ Musumeci
1c7de2d83e
fix minor integer casting issues
9 years ago
Antonio SJ Musumeci
58446f9124
misc fixes to compile on older platforms
9 years ago
Antonio SJ Musumeci
40f569be37
rewrite gid cache system
Uses fixed storage so as to not require C++11 local thread storage or memory allocation.
9 years ago
Antonio SJ Musumeci
53e3284b26
remove usage of UINT32_MAX macro
9 years ago
Antonio SJ Musumeci
09ffc8c903
provide usage text and version info. closes #146
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
a960a7ef46
cleanup controlfile manipulation
9 years ago
Antonio SJ Musumeci
e0cf97261c
include default_permissions in default arguments
closes #130
9 years ago
Antonio SJ Musumeci
3163258a33
make changing credentials opportunistic + per thread setgroups cache
closes #129,#131
9 years ago
Antonio SJ Musumeci
ce9352987c
realpath'ize all source mount points. closes #117
9 years ago
Antonio SJ Musumeci
2d899479c3
fix non-suffixed setxattr of user.mergerfs.minfreespace
9 years ago
Antonio SJ Musumeci
b22528bac4
add user.mergerfs.version xattr
9 years ago
Antonio SJ Musumeci
e377d54c93
add user.mergerfs.policies xattr
9 years ago
Antonio SJ Musumeci
8178bf518c
refactor and simplify getxattr for user.mergerfs.\*
9 years ago
Antonio SJ Musumeci
bc77b0fd2a
add minfreespace check to epmfs create policy
9 years ago
Antonio SJ Musumeci
1f1e481075
rework rename
Return EXDEV if directories of tragets differ. If the old and new path exist in the same directory first rename each old found by the policy and then unlink/rmdir any new on a drive which didn't rename. The unlink/rmdir will occur only if there were no rename errors. Any failures of unlink/rmdir are ignored. The last rename error is returned.
9 years ago
Antonio SJ Musumeci
7a93198d4a
forgot to add einval to policy
9 years ago
Antonio SJ Musumeci
bbc75f6ff1
create errno policies for simulating errors. closes #107
9 years ago
Antonio SJ Musumeci
126df0fbf1
fix epmfs failing to pick the existing path. closes #102
9 years ago
Antonio SJ Musumeci
8767db971a
remove unused variable
10 years ago