Antonio SJ Musumeci
3631ab7df2
optimize readdir file dedup
...
Use fasthash64 to hash filenames to uint64_t and store in khash
set. Significantly reduces malloc/free'ing and memory usage.
2018-11-06 00:05:30 -05:00
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.
2018-11-01 23:13:49 -04:00
Antonio SJ Musumeci
9e0ab1f518
misc cleanups
2018-10-24 22:38:36 -04:00
Antonio SJ Musumeci
162b99e6b8
enable nopath and nullpath_ok
2017-04-12 13:52:06 -04:00
Antonio SJ Musumeci
67b48fcb3a
compute inode in readdir
2016-12-16 10:57:24 -05:00
Antonio SJ Musumeci
c8fa51c81a
support setting of inodes (using use_ino option)
...
creates a 64bit inode value from the underlying device value + original inode
final_ino = orig_ino | (dev << 32)
not perfect but given few filesystems use 64bit inodes nor is st_dev more than 16bit usually it should be fine
2016-12-14 18:53:21 -05:00
Antonio SJ Musumeci
822204ff34
replace std::set with klib's khash to increase readdir performance
2016-12-14 17:24:48 -05:00
Antonio SJ Musumeci
1dc7bff6e6
wrap most posix filesystem functions
2016-10-19 16:58:52 -04:00
Antonio SJ Musumeci
7e423cd9ce
small tweaks to build on Debian kFreeBSD
2016-09-14 08:36:06 -04:00
Antonio SJ Musumeci
6086620e23
use references to srcmounts rather than copies
2016-02-11 21:09:31 -05:00
Antonio SJ Musumeci
242af777be
move from MIT to ISC license. closes #194
2016-01-14 16:56:38 -05:00
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.
2015-09-25 15:14:17 -04:00
Antonio SJ Musumeci
3163258a33
make changing credentials opportunistic + per thread setgroups cache
...
closes #129,#131
2015-09-14 19:00:07 -04:00
Antonio SJ Musumeci
f130d07fd8
config get and struct naming cleanup
2015-08-05 09:28:53 -04:00
Antonio SJ Musumeci
983fa9100d
change fuse functions to use the fuse namespace
2015-07-15 10:53:13 -04:00
Antonio SJ Musumeci
e5359ebd05
remove unused readdir function
2015-07-15 10:50:25 -04:00
Antonio SJ Musumeci
b2cd79154a
stop auto calculating and storing fullpath in policies
2015-07-03 10:40:47 -04:00
Antonio SJ Musumeci
0c60701b29
create different policies based on category of use
2015-07-03 08:53:36 -04:00
Antonio SJ Musumeci
90b0fcd5f5
Merge pull request #35 from trapexit/dttoif
...
provide stat to readdir filler. closes #32
2014-11-10 21:11:17 -05:00
Antonio SJ Musumeci
6c3ff01a0a
pass const strings by reference. closes #33
2014-11-10 21:01:20 -05:00
Antonio SJ Musumeci
d7ede20abe
provide stat to readdir filler. closes #32
2014-11-10 07:41:15 -05:00
Antonio SJ Musumeci
7e9ccd0317
support runtime setting of srcmounts. closes #12
2014-08-08 10:20:27 -04:00
Antonio SJ Musumeci
0e12d79659
platform specific code to deal with sete{u,g}id. closes #17
2014-06-17 19:12:09 -04:00
Antonio SJ Musumeci
36887e456f
when readdir's filler returns non-zero return ENOMEM. closes #7
2014-05-28 18:04:38 -04:00
Antonio SJ Musumeci
4c7095ccf6
remove stat'ing of files in readdir. closes #3
2014-05-27 12:41:40 -04:00
Antonio SJ Musumeci
bb7a966296
initial code commit
2014-05-19 07:05:53 -04:00