mergerfs/src
Antonio SJ Musumeci 85026d5780 add FICLONE and copy_file_range to clonefile
If available FICLONE and copy_file_range will be tried in addition to sendfile
when copying data between two files. The fallback is a tradition read/write
loop. On systems that support these it should improve performance.
2018-10-12 10:18:49 -04:00
..
access.cpp further abstraction of system calls 2016-10-20 16:51:49 -04:00
access.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
assert.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
buildmap.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
buildvector.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
category.cpp move from MIT to ISC license. closes #194 2016-01-14 16:56:38 -05:00
category.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
chmod.cpp restructure error calculation 2017-01-17 11:45:43 -05:00
chmod.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
chown.cpp restructure error calculation 2017-01-17 11:45:43 -05:00
chown.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
config.cpp add ability to turn on/off xattr support at runtime 2018-10-09 08:41:31 -04:00
config.hpp add ability to turn on/off xattr support at runtime 2018-10-09 08:41:31 -04:00
create.cpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
create.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
destroy.cpp move from MIT to ISC license. closes #194 2016-01-14 16:56:38 -05:00
destroy.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
dirinfo.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
errno.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fallocate.cpp add libfuse 2.9.7 to repo and build against libfuse.a 2017-06-02 11:25:25 -04:00
fallocate.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fgetattr.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
fgetattr.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fileinfo.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
flock.cpp add flock 2016-10-19 11:58:44 -04:00
flock.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
flush.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
flush.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_acl.cpp check for system.posix_acl_default before setting umask 2017-01-16 12:19:58 -05:00
fs_acl.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_attr_linux.icpp make fs::attr return ENOTSUP on EINVAL #381 2017-04-03 21:11:20 -04:00
fs_attr_unsupported.icpp make fs::attr return ENOTSUP on EINVAL #381 2017-04-03 21:11:20 -04:00
fs_attr.cpp make fs_attr compile on unsupported platforms 2016-08-04 17:10:02 -04:00
fs_attr.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_access.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_chmod.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_chown.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_close.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_closedir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_dirfd.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_dup.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_fadvise_posix.icpp hide fs::fadvise as it's not used directly 2017-04-11 09:42:33 -04:00
fs_base_fadvise_unsupported.icpp hide fs::fadvise as it's not used directly 2017-04-11 09:42:33 -04:00
fs_base_fadvise.cpp hide fs::fadvise as it's not used directly 2017-04-11 09:42:33 -04:00
fs_base_fadvise.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_fallocate_linux.icpp restructure fallocate abstraction 2017-04-06 23:35:31 -04:00
fs_base_fallocate_osx.icpp restructure fallocate abstraction 2017-04-06 23:35:31 -04:00
fs_base_fallocate_posix.icpp restructure fallocate abstraction 2017-04-06 23:35:31 -04:00
fs_base_fallocate_unsupported.icpp restructure fallocate abstraction 2017-04-06 23:35:31 -04:00
fs_base_fallocate.cpp restructure fallocate abstraction 2017-04-06 23:35:31 -04:00
fs_base_fallocate.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_flock.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_fsync.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_ftruncate.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_futimesat_generic.icpp abstract futimesat 2017-04-06 23:13:02 -04:00
fs_base_futimesat_osx.icpp abstract futimesat 2017-04-06 23:13:02 -04:00
fs_base_futimesat.cpp abstract futimesat 2017-04-06 23:13:02 -04:00
fs_base_futimesat.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_getxattr.hpp remove libattr dependency 2018-10-09 13:50:45 -04:00
fs_base_ioctl.hpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_base_link.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_listxattr.hpp remove libattr dependency 2018-10-09 13:50:45 -04:00
fs_base_lseek.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_mkdir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_mknod.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_mkstemp.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_open.hpp add link_cow feature 2018-10-06 22:05:05 -04:00
fs_base_opendir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_read.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_readdir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_readlink.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_realpath.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_remove.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_removexattr.hpp remove libattr dependency 2018-10-09 13:50:45 -04:00
fs_base_rename.hpp add link_cow feature 2018-10-06 22:05:05 -04:00
fs_base_rmdir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_setxattr.hpp remove libattr dependency 2018-10-09 13:50:45 -04:00
fs_base_stat.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_statvfs.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_symlink.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_truncate.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_unlink.hpp add link_cow feature 2018-10-06 22:05:05 -04:00
fs_base_utime_generic.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_utime_utimensat.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_utime.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_base_write.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_clonefile.cpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_clonefile.hpp add link_cow feature 2018-10-06 22:05:05 -04:00
fs_clonepath.cpp ignore clonepath metadata errors. fixes #470 2018-03-08 16:55:35 -05:00
fs_clonepath.hpp ignore clonepath metadata errors. fixes #470 2018-03-08 16:55:35 -05:00
fs_copy_file_range_linux.icpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_copy_file_range_unsupported.icpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_copy_file_range.cpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_copy_file_range.hpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_copyfile.cpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_copyfile.hpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_cow.cpp add link_cow feature 2018-10-06 22:05:05 -04:00
fs_cow.hpp add link_cow feature 2018-10-06 22:05:05 -04:00
fs_devid.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_ficlone_linux.icpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_ficlone_unsupported.icpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_ficlone.cpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_ficlone.hpp add FICLONE and copy_file_range to clonefile 2018-10-12 10:18:49 -04:00
fs_glob.cpp keep literal when glob fails 2018-10-01 16:56:40 -04:00
fs_glob.hpp keep literal when glob fails 2018-10-01 16:56:40 -04:00
fs_inode.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_mktemp.cpp fix building on certain platforms 2018-10-09 08:23:37 -04:00
fs_mktemp.hpp add link_cow feature 2018-10-06 22:05:05 -04:00
fs_movefile.cpp use temp files (then rename) when moving files for moveonenospc 2017-06-28 21:17:47 -04:00
fs_movefile.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_path.cpp use references to srcmounts rather than copies 2016-02-11 21:09:31 -05:00
fs_path.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_sendfile_linux.icpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
fs_sendfile_unsupported.icpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
fs_sendfile.cpp split sendfile wrapper into separate files 2016-08-04 17:11:23 -04:00
fs_sendfile.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs_xattr.cpp remove libattr dependency 2018-10-09 13:50:45 -04:00
fs_xattr.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fs.cpp keep literal when glob fails 2018-10-01 16:56:40 -04:00
fs.hpp keep literal when glob fails 2018-10-01 16:56:40 -04:00
fsync.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
fsync.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fsyncdir.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
fsyncdir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
ftruncate.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
ftruncate.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
fusefunc.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
fusefunc.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
getattr.cpp symlinkify: file -> symlink-to-original-file after timeout 2017-05-05 00:14:04 -04:00
getattr.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
getxattr.cpp add ability to turn on/off xattr support at runtime 2018-10-09 08:41:31 -04:00
getxattr.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
gidcache.cpp work around getgrouplist signature difference on osx 2017-04-07 16:23:18 -04:00
gidcache.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
init.cpp check for system.posix_acl_default before setting umask 2017-01-16 12:19:58 -05:00
init.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
ioctl.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
ioctl.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
khash.h improve khash performance 2017-07-01 11:53:35 -04:00
link.cpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
link.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
listxattr.cpp add ability to turn on/off xattr support at runtime 2018-10-09 08:41:31 -04:00
listxattr.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
mergerfs.cpp add libfuse 2.9.7 to repo and build against libfuse.a 2017-06-02 11:25:25 -04:00
mergerfs.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
mkdir.cpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
mkdir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
mknod.cpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
mknod.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
num.cpp add time.h to fix compiling on some platforms 2017-06-15 19:35:28 -04:00
num.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
open.cpp add link_cow feature 2018-10-06 22:05:05 -04:00
open.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
opendir.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
opendir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
option_parser.cpp add ability to turn on/off xattr support at runtime 2018-10-09 08:41:31 -04:00
option_parser.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
policy_all.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_epall.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_epff.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_eplfs.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_eplus.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_epmfs.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_eprand.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_erofs.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_ff.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_invalid.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_lfs.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_lus.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_mfs.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_newest.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy_rand.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy.cpp small tweaks to build on Debian kFreeBSD 2016-09-14 08:36:06 -04:00
policy.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
read_buf.cpp add libfuse 2.9.7 to repo and build against libfuse.a 2017-06-02 11:25:25 -04:00
read_buf.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
read.cpp add nullrw feature to facilitate benchmarking 2017-05-26 18:11:18 -04:00
read.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
readdir.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
readdir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
readlink.cpp symlinkify: file -> symlink-to-original-file after timeout 2017-05-05 00:14:04 -04:00
readlink.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
release.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
release.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
releasedir.cpp enable nopath and nullpath_ok 2017-04-12 13:52:06 -04:00
releasedir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
removexattr.cpp add ability to turn on/off xattr support at runtime 2018-10-09 08:41:31 -04:00
removexattr.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
rename.cpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
rename.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
resources.cpp move from MIT to ISC license. closes #194 2016-01-14 16:56:38 -05:00
resources.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
rmdir.cpp restructure error calculation 2017-01-17 11:45:43 -05:00
rmdir.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
rv.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
rwlock.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
setxattr.cpp add ability to turn on/off xattr support at runtime 2018-10-09 08:41:31 -04:00
setxattr.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
statfs.cpp ignore filesystems which return zeros for statfs. closes #335 2016-11-15 23:27:17 -05:00
statfs.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
statvfs_util.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
str.cpp use references to srcmounts rather than copies 2016-02-11 21:09:31 -05:00
str.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
strset.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
success_fail.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
symlink.cpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
symlink.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
symlinkify.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
truncate.cpp restructure error calculation 2017-01-17 11:45:43 -05:00
truncate.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
ugid_linux.hpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
ugid_linux.icpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
ugid_rwlock.hpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
ugid_rwlock.icpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
ugid.cpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
ugid.hpp stop clonepath at base directory. fixes #467 2018-03-07 18:46:32 -05:00
unlink.cpp restructure error calculation 2017-01-17 11:45:43 -05:00
unlink.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
utimens.cpp restructure error calculation 2017-01-17 11:45:43 -05:00
utimens.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
write_buf.cpp use fusepath from fileinfo. closes #417 2017-06-24 17:03:41 -04:00
write_buf.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
write.cpp add nullrw feature to facilitate benchmarking 2017-05-26 18:11:18 -04:00
write.hpp use pragma once in headers 2017-06-30 11:38:34 -04:00
xattr.hpp remove libattr dependency 2018-10-09 13:50:45 -04:00