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
KARBOWSKI Piotr
678626ef82
Makefile: support CXXFLAGS and LDFLAGS passed via environment
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
698c4147fc
fix getdent name length calculation
5 years ago
Antonio SJ Musumeci
5ce428ca59
rework makefiles + install mount tools
5 years ago
James Sanderson
f77d1d9929
Force symlink creation (don't error if it already exists)
5 years ago
Antonio SJ Musumeci
229d8517c0
fix mount.mergerfs generation
6 years ago
Antonio SJ Musumeci
825fcf7f35
cleanup and rework build system
6 years ago
Antonio SJ Musumeci
61d764d0fd
makefile: remove superclean dependency from tarball
6 years ago
Antonio SJ Musumeci
b0b265b8e5
parallel deb building
6 years ago
Antonio SJ Musumeci
1be9900733
rework makefiles for better manage parallel builds
6 years ago
Antonio SJ Musumeci
2af0dcd273
fix building of deb pkg
6 years ago
Antonio SJ Musumeci
95c0cc741d
replace libfuse's autoconf with makefile
6 years ago
Antonio SJ Musumeci
6de8e4471c
general cleanup of makefile, add static & lto building
6 years ago
Antonio SJ Musumeci
1885a82cce
remove libattr dependency
6 years ago
Andrey Mazo
756d4ff0ff
Makefile: option for building with system libfuse
Add INTERNAL_FUSE variable to control linking against
bundled libfuse vs external/system libfuse.
If external libfuse is requested,
`pkg-config` is used to obtain CFLAGS/LIBS/LDFLAGS and
to check that the provided external libfuse is >= 2.9.7.
This might hopefully get mergerfs closer to inclusion into distros.
Link: https://github.com/trapexit/mergerfs/issues/431
Link: https://bugs.gentoo.org/587956#c6
6 years ago
Andrey Mazo
e987ff46c2
Makefile: don't touch LDFLAGS
These are more like LIBS rather than LDFLAGS.
They are used just in one place,
so simply put them inline.
Also, use LDFLAGS provided by the user during actual link.
This helps users pass their own LDFLAGS.
For example, this is important on Gentoo,
where LDFLAGS='-Wl,-O1 -Wl,--as-needed' is passed by default.
6 years ago
Antonio SJ Musumeci
9830e29945
fix version generation
7 years ago
Antonio SJ Musumeci
ebe737e995
fixup makefile
7 years ago
Antonio SJ Musumeci
a7b126cb48
use pragma once in headers
8 years ago
Antonio SJ Musumeci
de0985c135
add libfuse 2.9.7 to repo and build against libfuse.a
8 years ago
Antonio SJ Musumeci
8b976ab3c1
support older libfuse without utime_omit_ok flag
8 years ago
Antonio SJ Musumeci
b1459c6cdc
only remove src/version.hpp if git repo and git available
8 years ago
Antonio SJ Musumeci
192bb9c57e
remove usage of -D from install
8 years ago
Antonio SJ Musumeci
064fd5560f
bump FUSE_USE_VERSION to 29
9 years ago
Antonio SJ Musumeci
382ca876ca
tweak man page creation
9 years ago
Antonio SJ Musumeci
3e20adb109
remove clone test tool
9 years ago
Antonio SJ Musumeci
de776b7cf0
remove tooling from repo. closes #198
9 years ago
Antonio SJ Musumeci
242af777be
move from MIT to ISC license. closes #194
9 years ago
Antonio SJ Musumeci
51ae7d1980
change make to work with non-bash shells
9 years ago
Antonio SJ Musumeci
8ed11a0e8f
if pandoc doesn't exist copy premade version
9 years ago
Antonio SJ Musumeci
46c8361fa9
offer prebuilt manpage for platforms without easy access to pandoc
9 years ago
Antonio SJ Musumeci
5a76c41236
create mount.mergerfs symlink. closes #149
9 years ago
Antonio SJ Musumeci
f6d396c30d
audit (and fix) file permissions and ownership. closes #148
9 years ago
Antonio SJ Musumeci
c289dafadc
swap deb and unsigned-deb make tagets. closes #140
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
3163258a33
make changing credentials opportunistic + per thread setgroups cache
closes #129,#131
9 years ago
Antonio SJ Musumeci
e98b801c9d
remove version.hpp on clean
9 years ago
Antonio SJ Musumeci
b22528bac4
add user.mergerfs.version xattr
9 years ago
Antonio SJ Musumeci
08d07b71e1
add building of rpm
9 years ago
Antonio SJ Musumeci
ab68ac0cb1
enhance deb building
10 years ago
Antonio SJ Musumeci
1f90203025
use standard platform macros. closes #43
10 years ago
Antonio SJ Musumeci
d1f3bd82e8
add clonepath tool
10 years ago
Antonio SJ Musumeci
613b996296
support RHEL6. closes #29
10 years ago
Antonio SJ Musumeci
15f88494e4
add custom git log to debian changelog script
11 years ago
Antonio SJ Musumeci
f385f02d0f
add -O2 to CFLAGS
11 years ago
Antonio SJ Musumeci
0e12d79659
platform specific code to deal with sete{u,g}id. closes #17
11 years ago
Antonio SJ Musumeci
0f8fe47016
add man file via markdown -> man conversion with pandoc. closes #14
11 years ago
Antonio SJ Musumeci
4a0bc4aef7
add debian package building. closes #11
11 years ago
Antonio SJ Musumeci
655436f258
further Makefile enhancements
11 years ago