aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorLines
2019-03-10Improve documentation for the flush method (#378)Alan Somers-15/+26
Fixes: #373
2019-03-09Released 3.4.2Nikolaus Rath-4/+13
2019-03-09Improve readdir() and file handle documentationChad Austin-11/+22
Fixes: #333
2019-03-09Add HFS+ to filesystem whitelist (#347)1c7718e7-0/+3
2019-03-09Work around -Wformat-truncation=/-Wformat-overflow= warnings (#356)Tomohiro Kusumi-5/+5
sprintf(3)/snprintf(3) destination buffers need to be large enough so that gcc doesn't warn -Wformat-truncation= or -Wformat-overflow= when source buffer size is 1024 bytes. -- ../test/test_syscalls.c:1445:47: warning: '%s' directive output may be truncated writing 1 byte into a region of size between 0 and 1023 [-Wformat-truncation=] #define PATH(p) (snprintf(path, sizeof path, "%s/%s", testdir, p), path) ^~~~~~~ ../test/test_syscalls.c:1458:19: res = mkdir(PATH("a"), 0755); ~~~ Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
2019-03-09Correctly include config.h ("" vs <>)Nikolaus Rath-3/+3
This isn't a system header. Fixes: #349
2019-03-09Fix the changelog entry for protocol version 7.12 (#374)Alan Somers-1/+1
Commit 24b35c3d97ffdbf0a1f8e8b4e94ed892343603a6 had a simple mistake in its changelog entry.
2019-03-08fusermount: drop privileges for chdir()Sam Huffman-0/+2
cd to mountpoint's parent directory using unprivileged rather than privileged access. This is to ensure that unmount works on mountpoints where root may not have privileged access. Fixes: #376
2019-03-08Document fuse_fsync_in.fsync_flags and remove magic numbers (#375)Alan Somers-24/+27
2019-03-04Link against libiconv when possible (#372)HazelFZ-1/+5
2019-02-27Travis CI: Use Xenial instead of Trusty.Nikolaus Rath-6/+3
2019-02-25hello_ll: Fix null pointer dereference (#363)Forty-Bot-0/+7
If hello_ll is invoked without a mountpoint, it will try to call fuse_session_mount anyway with the NULL mountpoint (which then causes a segfault). Print out a short help message instead (taken from passthrough_ll.c).
2019-02-13fuse_free_buf(): to check flags of each buffer, rather than only 0thAlbert Chen-1/+1
Fixes: #360
2019-01-22passthrough_ll: lo_create() should honor CACHE_NEVER (#345)Miklos Szeredi-0/+5
lo_create() did not honour CACHE_NEVER in lo_create(), which has an effect on how I/O is performed after the open. The value of CACHE_ALWAYS, which results in setting fi->keep_cache, only has an effect for the state of the cache at open, and since the file was just created the cache is always empty. Hence setting this doesn't have an effect on lo_create(), but keep it for symmetry with lo_open().
2019-01-21Clarify documentation of fuse_lowlevel_inval_inodeNikolaus Rath-8/+8
Fixes: #341.
2019-01-14Add support for buildin under DragonFly BSDTomohiro Kusumi-3/+3
70e25ea74e("Fix build on non-Linux") broke build on DragonFly BSD, or likely anything other than FreeBSD and NetBSD that is not Linux. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
2019-01-04Added OpenAFS to type whitelistNikolaus Rath-0/+3
Fixes: #336.
2018-12-29Fixed memory leak.Nikolaus Rath-5/+6
Fixes: #338.
2018-12-22Added missing date to Changelog.Nikolaus Rath-2/+2
2018-12-22Released 3.4.1Nikolaus Rath-1/+11
2018-12-22fix memory leak in print_module_help methodalex-0/+1
2018-11-27Fix fd/inode leakNikolaus Rath-13/+19
If do_readdir() calls do_lookup(), but the latter fails, we still have to return any entries that we already stored in the readdir buffer to avoid leaking inodes. do_lookup() may fail if e.g. we reach the file descriptor limit.
2018-11-24Avoid needless telldir() call.Nikolaus Rath-1/+1
2018-11-24Fixed lookup-count leak in do_readdir().Nikolaus Rath-3/+7
2018-11-24Added testcase for "big" readdir.Nikolaus Rath-0/+26
2018-11-24Don't segfault when called with -h.Nikolaus Rath-1/+1
Fixes: #327
2018-11-24Added .ackrcNikolaus Rath-0/+2
2018-11-24Kill filesystem process on test cleanup.Nikolaus Rath-8/+13
2018-11-19tests: add copy_file_range() to the syscall testsNiels de Vos-0/+99
2018-11-19examples: add copy_file_range() support to passthrough(_fh)Niels de Vos-4/+108
The passthrough example filesystem can be used for validating the API and the implementation in the FUSE kernel module.
2018-11-19libfuse: add copy_file_range() supportNiels de Vos-45/+208
Add support for the relatively new copy_file_range() syscall. Backend filesystems can now implement an efficient way of cloning/duplicating data ranges within files. See 'man 2 copy_file_range' for more details.
2018-11-19Update kernel API headersNiels de Vos-1/+7
Taken from Linux kernel commit 3b7008b226f3.
2018-11-11Fix mounting on FreeBSDRoman Bogorodskiy-4/+2
Currently, mounting on FreeBSD fails like this: mount_fusefs: ZZZZ<snip> on /mountpoint: No such file or directory This happens because right after doing argv[a++] = fdnam it's getting freed before calling execvp(). So move this free() call after execvp(). Also, when asprintf() fails for fdnam, close device fd before calling exit().
2018-11-11Fix build on non-LinuxRoman Bogorodskiy-4/+6
* Update meson.build to add mount_util.c to libfuse_sources unconditionally, it's non Linux-only * FreeBSD, like NetBSD, doesn't have mntent.h, so don't include that and define IGNORE_MTAB for both * FreeBSD, like NetBSD, has no umount2() sysctl, so similarly define it to unmount()
2018-11-09Don't crash if mountpoint is not specified.Nikolaus Rath-0/+7
Fixes: #319.
2018-11-06Released 3.3.0Nikolaus Rath-3/+10
2018-11-06Update CI build scriptNikolaus Rath-3/+3
There is no gcc-6 package anymore.
2018-11-06Revert "Do not include struct fuse_buf in struct fuse_worker"Nikolaus Rath-9/+13
This reverts commit 161983e2416bc6e26bbbe89664fff62c48c70858, because this causes resource leaks when threads are terminated by pthread_cancel(). Fixes: #313.
2018-11-06Avoid double unmount on normal unmount in auto_unmount mode.Kevin Vigor-11/+66
If a fuse filesystem was mounted in auto_unmount mode on top of an already mounted filesystem, we would end up doing a double-unmount when the fuse filesystem was unmounted properly. Make the auto_unmount code less eager: unmount only if the mounted filesystem has proper type and is returning 'Transport endpoint not connected'.
2018-11-06Document when `fuse_lowlevel_notify_*` functions may block.Nikolaus Rath-0/+16
2018-10-19Add SpectrumScale/GPFS and Lustre to FS whitelistValentin Plugaru-0/+2
Fixes: #304 Signed-off-by: Valentin Plugaru <valentin.plugaru@uni.lu>
2018-10-19Do not fail "ninja test" when running as subprojectAhmed Masud-3/+16
2018-10-16Bump minimum Meson versionNikolaus Rath-4/+4
According to user reports (https://github.com/libfuse/libfuse/pull/300), we need at least version 0.42.
2018-10-11Clarified licensing terms.Nikolaus Rath-0/+13
Fixes: #213.
2018-10-10Enable more tests for passthrough_llNikolaus Rath-48/+18
2018-10-10passthrough_ll: initialize unused memoryMiklos Szeredi-3/+4
For '.' and '..' entries only the file type in e.attr.st_mode and the inode number in e.attr.st_ino are used. But it's prudent to at least initialize the other fields of struct fuse_entry_param as well, instead of using random values from the stack.
2018-10-10passthrough_ll: allow configuring cachingMiklos Szeredi-8/+55
Caching can be controlled with the following options: "cache=never": disable caching "cache=normal": enable caching but also refresh after the timeout "cache=always": never refresh cache The timeout can be controlled with the "timeout=SEC" option, where SEC is the number of seconds and can be an arbitrary non-negative floating point number. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-10-10passthrough_ll: add *xattr() operationsMiklos Szeredi-0/+186
The extended attribute functionality is enabled with the "xattr" option (default) and disabled with the "no_xatt" option. New operations added: - getxattr - listxattr - setxattr - removexattr Caveat: none of these operations will work on a symbolic link, because it's difficult to implement that without races that can result in incorrect operation. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-10-10passthrough_ll: add flock()Miklos Szeredi-0/+23
Conditionally enable flock() locking on underlying filesystem, based on the flock/no_flock options. Default is "no_flock", meaning locking will be local to the fuse filesystem and won't be propagated to the filesystem passed through. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-10-10passthrough_ll: whitespace cleanupMiklos Szeredi-6/+5
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>