Commit Graph
37 Commits
Author SHA1 Message Date
Antonio SJ Musumeci 43cbd9c670 move size calculations to use uint64_t. fixes #287 2016-07-11 09:04:47 -04:00
Antonio SJ Musumeci f7d3e8bf47 create lus (least used space) policy. closes #273 2016-05-07 14:59:42 -04:00
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
2016-02-29 23:04:59 -05:00
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
2016-02-29 18:06:59 -05:00
Antonio SJ Musumeci 14886a27f4 add readonly and minfreespace filters to all policy for creates. closes #236 2016-02-29 10:15:53 -05:00
Antonio SJ Musumeci 25a039942c minor tweaks to filesystem utility functions 2016-02-23 12:28:20 -05:00
Antonio SJ Musumeci 792c9b9808 use stat/2 rather than statvfs/2 to find file drive 2016-02-23 12:06:16 -05:00
Antonio SJ Musumeci 5813d1e477 ignore drives mounted as readonly from create policies. closes #224 2016-02-21 14:34:40 -05: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 93cedabe9c fix misc issues flagged by clang scan-build 2015-10-22 18:06:11 -04: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 ce9352987c realpath'ize all source mount points. closes #117 2015-09-06 18:24:36 -04:00
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.
2015-09-01 18:32:31 -04:00
Antonio SJ Musumeci 4d605388a4 ignore ENOTSUP errors when cloning paths. fixes #82 2015-07-13 12:20:19 -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 6ca43893ea separate policies into individual modules 2015-06-23 22:27:01 -04:00
Antonio SJ Musumeci 8e5b79647b create lfs policy. closes #73 2015-06-22 11:06:36 -04:00
Antonio SJ Musumeci 58167c3636 first w/ free space policy. closes #72 2015-06-22 10:53:39 -04:00
Antonio SJ Musumeci ccb22c1fbe create minfreespace option. closes #71 2015-06-22 09:59:16 -04:00
Antonio SJ Musumeci c022741ffb revert removal of 'all' policy and relevant behavior. closes #54 2015-03-05 21:01:22 -05:00
Antonio SJ Musumeci 12f393a55e per FUSE function policies. closes #52, #53 2015-02-23 20:02:50 -05:00
Antonio SJ Musumeci 1a1c9db37b close file after getting ioc flags. closes #48 2015-02-17 00:28:27 -05:00
Antonio SJ Musumeci d30cae217b add user.mergerfs.allpaths and user.mergerfs.relpath to getxattr 2015-02-07 18:27:47 -05:00
Antonio SJ Musumeci b411c63df1 Remove 'all' policy and simplify logic 2015-02-02 23:59:45 -05:00
Antonio SJ Musumeci 6276ce9779 handle EEXIST while cloning a path. closes #40 2015-01-29 14:28:38 -05:00
Antonio SJ Musumeci 6c3ff01a0a pass const strings by reference. closes #33 2014-11-10 21:01:20 -05:00
Antonio SJ Musumeci cfe7609bcd find functions now return errors. closes #24 2014-08-23 11:44:40 -04:00
Antonio SJ Musumeci 8f35406000 use lstat to confirm file existance instead of eaccess. closes #25 2014-08-22 17:54:38 -04:00
Antonio SJ Musumeci 4ea1adbf96 use f_frsize rather than f_bsize for mfs calculations. closes #26 2014-08-22 17:06:59 -04:00
Antonio SJ Musumeci 7e9ccd0317 support runtime setting of srcmounts. closes #12 2014-08-08 10:20:27 -04:00
Antonio SJ Musumeci ec38a9c783 fix rename'ing to local device 2014-06-24 16:13:49 -04:00
Antonio SJ Musumeci aab90b0503 rework policy code 2014-05-28 05:35:58 -04:00
Antonio SJ Musumeci 345d0bbdc4 use eaccess to determine permissions for ffwp. closes #2 2014-05-27 18:17:54 -04:00
Antonio SJ Musumeci bbc4b594fe fs::make_path should check for forward slashes, add if missing 2014-05-27 07:17:32 -04:00
Antonio SJ Musumeci 7f640c4d9e fix building without libattr 2014-05-19 09:34:31 -04:00
Antonio SJ Musumeci bb7a966296 initial code commit 2014-05-19 07:05:53 -04:00