summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Released 3.11.0fuse-3.11.0Nikolaus Rath2022-05-024-6/+16
|
* patch: document ignored fill parameter of readdirAndré Schröder2022-04-201-0/+7
|
* Add missing kernel flags up to 1ULL << 33Bernd Schubert2022-04-171-0/+8
| | | | Just a further sync with the in-kernel flags.
* Set FUSE_INIT_EXT in fuse_init_out::flagsBernd Schubert2022-04-171-2/+5
| | | | | It is better to tell the kernel that libfuse knows about the 64 bit flag extension.
* Passthrough_ll should display cmd line optionsDharmendra singh2022-04-081-0/+18
| | | | | | Make passthrough_ll to display all its cmdline options instead of keeping them hidden. (I am not sure if these are intentionally kept hidden)
* Modify structures in libfuse to handle flags beyond 32 bits.Dharmendra Singh2022-04-082-38/+51
| | | | | | | | | | | In fuse kernel, 'commit 53db28933e95 ("fuse: extend init flags")' made the changes to handle flags going beyond 32 bits but i think changes were not done in libfuse to handle the same. This patch prepares the ground in libfuse for incoming FUSE kernel patches (Atomic open + lookup) where flags went beyond 32 bits. It makes struct same as in fuse kernel resulting in name change of few fields.
* passthrough_hp: Disable splice with the --nosplice optionBernd Schubert2022-03-311-7/+13
| | | | | passthrough_hp was not updated when splice got enabled by default in libfuse3. I.e. the --nosplice option and condition on it was a noop.
* passthrough_hp: Fix inode ref in sfs_unlinkBernd Schubert2022-03-311-0/+26
| | | | | | sfs_unlink may call do_lookup(), which increases the inode ref count, but since that function does not return attributes that lookup ref count won't get automatically decreased.
* Merge pull request #649 from fdinoff/fix_clone_fdNikolaus Rath2022-03-221-3/+9
|\ | | | | Fix fd leak with clone_fd
| * Fix fd leak with clone_fdFrank Dinoff2022-03-211-3/+9
|/ | | | | | | do_interrupt would destroy_req on the request without decrementing the channel's refcount. With clone_fd this could leak file descriptors if the worker thread holding the cloned fd was destroyed. (Only max_idle_threads are kept).
* Merge pull request #635 from amir73il/fopen_noflushNikolaus Rath2022-03-149-2/+94
|\ | | | | Add support for FOPEN_NOFLUSH flag
| * Merge branch 'master' into fopen_noflushNikolaus Rath2022-03-143-7/+9
| |\ | |/ |/|
* | Removed duplicates code. (#642)David Galeano2022-02-111-2/+0
| | | | | | The cap for FUSE_CAP_WRITEBACK_CACHE was printed twice.
* | Fixed returning an error condition to ioctl(2) (#641)Jean-Pierre André2022-02-092-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When returning a negative error code by ->ioctl() to the high level interface, no error is propagated to the low level, and the reply message to the kernel is shown as successful. A negative result is however returned to kernel, so the kernel can detect the bad condition, but this appears to not be the case since kernel 5.15. The proposed fix is more in line with the usual processing of errors in fuse, taking into account that ioctl(2) always returns a non-negative value in the absence of errors. Co-authored-by: Jean-Pierre André <jpandre@users.sourceforge.net>
* | Fix ReST end-string nits (#638)Andrew Gaul2022-01-231-3/+3
| | | | | | This makes the file more readable with syntax highlighting.
* | Avoid ENOENT response when recently invalidated fuse_ino_t is received from ↵Ken Schalk2022-01-111-2/+2
| | | | | | | | the kernel (#636)
| * Add test for FOPEN_NOFLUSH flagAmir Goldstein2022-01-052-1/+65
| | | | | | | | | | | | | | | | | | Simulate write() delay and verify that close(rofd) does not block waiting on pending writes. The support for the flag was added in kernel v5.16-rc1. Signed-off-by: Amir Goldstein <amir73il@gmail.com>
| * Add no_rofd_flush mount optionAmir Goldstein2022-01-032-0/+14
| | | | | | | | | | | | To disable flush for read-only fd. Signed-off-by: Amir Goldstein <amir73il@gmail.com>
| * Add support for FOPEN_NOFLUSH flagAmir Goldstein2022-01-035-1/+15
|/ | | | | | | | | | | Allow requesting from kernel to avoid flush on close at file open time. If kernel does not support FOPEN_NOFLUSH flag, the request will be ignored. For passthrough_hp example, request to avoid flush on close when writeback cache is disabled and file is opened O_RDONLY. Signed-off-by: Amir Goldstein <amir73il@gmail.com>
* Document possible NULL paths when directories are removed (#633)Maximilian Heinzler2021-12-121-0/+6
| | | | | | When directories with open handles are removed, the releasedir and fsyncdir operations might be called with a NULL path. That is because there is no hiding behavior like for regular files and the nodes get removed immediately.
* test/test_syscalls.c: allow EBADF in fcheck_stat() (#631)Luis Henriques2021-11-201-1/+2
| | | | | | | | | | | | | | | Test test/test_examples.py::test_passthrough_hp[False] fails because, on kernels >= 5.14, fstat() will return -EBADF: 3 [check_unlinked_testfile] fcheck_stat() - fstat: Bad file descriptor 4 [check_unlinked_testfile] fcheck_stat() - fstat: Bad file descriptor 5 [check_unlinked_testfile] fcheck_stat() - fstat: Bad file descriptor 9 [check_unlinked_testfile] fcheck_stat() - fstat: Bad file descriptor ... This patch simply whitelists the EBADF errno code. Signed-off-by: Luís Henriques <lhenriques@suse.de> Co-authored-by: Luís Henriques <lhenriques@suse.de>
* Released 3.10.5fuse-3.10.5Nikolaus Rath2021-09-063-1/+11
|
* Fix: fd and memory leak in mount.fuse.c (#614)lixiaokeng2021-09-061-1/+6
| | | | | | The command isn't freed and the fuse_fd isn't closed if execl failed. Fix it. Signed-off-by: Lixiaokeng <lixiaokeng@huawei.com>
* use same hashbang as in rest of repositorya13460542021-08-251-1/+1
|
* fix spellinga13460542021-08-251-1/+1
|
* remove executable file mode bit from source filesa13460542021-08-252-0/+0
|
* meson.build: fix wrong .symver detectionGiulio Benetti2021-08-041-9/+7
| | | | | | | | | | | | | | | | | | | | As pointed here [1] __has_attribute() is broken for many attributes and if it doesn't support the specific attribute it returns true, so we can't really rely on that for this check. This lead to Buildroot libfuse3 build failure [2] where that shows up with: ``` error: symver is only supported on ELF platforms ``` Indeed Microblaze doesn't support ELF since it doesn't include elfos.h, but __has_attribute(symver) returns true. So let's substitute the #ifdef __has_attribute() with a stronger test on a function foo() with __attribute__((symver ("test@TEST"))). [1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766 [2]: http://autobuild.buildroot.net/results/d6c/d6cfaf2aafaeda3c12d127f6a2d2e175b25e654f/build-end.log Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
* Travis-CI: Make sure lsan supppressions file can be read by root.Nikolaus Rath2021-06-241-5/+8
|
* Do not run unlinked files test on passthrough_hp with old kernelsAmir Goldstein2021-06-232-3/+19
| | | | | | | | | | | | test_syscalls unlinked testfiles check fails on passthourhg_hp without the kernel commit "fuse: fix illegal access to inode with reused nodeid" queued for kernel 5.14 [1]. Make this check opt-in and do not run it with kernel version before 5.14. [1] https://lore.kernel.org/linux-fsdevel/CAJfpegtGKjeK8E5QsHKF0=re1J9wVHuGRVgg9NDJ_OOwQdCUNg@mail.gmail.com/ Signed-off-by: Amir Goldstein <amir73il@gmail.com>
* Fix: a potential crash on failure to setlocalelixiaokeng2021-06-161-4/+2
| | | | | | | setlocale() can fail, returning NULL, which will lead to a crash in iconv_new(). Fix it like in iconv_help(). Signed-off-by: Lixiaokeng <lixiaokeng@huawei.com>
* passthrough_hp: excercise reusing inode numbersAmir Goldstein2021-06-141-7/+50
| | | | | | | | | | | | | | | Before last unlink() release the reference on inode.fd to allow reuse of underlying fs inode number, mark the server inode "deleted" and bump it's generation counter. When same inode number is found on lookup(), the server inode object will be reused as well. Skip this when inode has an open file and when writeback cache is enabled. This will be used to verify inode reuse bug fix in the kernel. Signed-off-by: Amir Goldstein <amir73il@gmail.com>
* test/test_syscalls.c: check unlinked testfiles at the end of the testAmir Goldstein2021-06-141-16/+129
| | | | | | | | | | | | | | | On some tests on regular files, open an O_PATH fd of the testfile and record it along side the size and mode and inode. At the end of all tests, use recorded testfiles info to re-check the size mode and inode of the unlinked testfiles. With O_PATH fd, the server does not have to keep the inode alive so FUSE inode may be stale or bad. Therefore, ESTALE and EIO are valid results for fstat() on the old testfile fd's, but returning the wrong size or mode is an invalid result. Signed-off-by: Amir Goldstein <amir73il@gmail.com>
* test/test_syscalls.c: refactor fcheck_* helpersAmir Goldstein2021-06-141-68/+45
| | | | | | | Avoid multiple fstat() calls and consolidate all fcheck_* helpers into fcheck_stat(). Signed-off-by: Amir Goldstein <amir73il@gmail.com>
* test/test_syscalls.c: use unique filename per testAmir Goldstein2021-06-141-13/+37
| | | | | | | | | | Generate unique filename per test (only for regular file for now). Make sure to unlink the unique filename after each test. realpath variable was renamed to basepath_r to fix build warning on conflicting symbols with realpath() function. Signed-off-by: Amir Goldstein <amir73il@gmail.com>
* Released 3.10.4fuse-3.10.4Nikolaus Rath2021-06-093-4/+14
|
* Add an option to disable building tests (#533)asafkahlon2021-06-092-1/+8
| | | Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
* Cuse example: Fix memory leak (#607)Christian Menges2021-06-092-8/+12
| | | | | * cuse example: fix memory leak * Travis CI: re-enable leak checking
* fix typo in man (#609)Sergey Fedoseev2021-06-091-1/+1
|
* test/test_syscalls.c: fix test failure on xfs src dir (#611)Amir Goldstein2021-06-021-1/+1
| | | | | | | | | | | | rename dir loop test fails when test tmp dir is xfs with an error test_rename_dir_loop() - rename : File exists That is because xfs returns EEXIST for the case of renaming over a non-empty directory. According to rename(2) man page, EEXIST and ENOTEMPTY are both valid error code in this case. Signed-off-by: Amir Goldstein <amir73il@gmail.com>
* Define FUSE_USE_VERSION in Doxygen. (#608)Junichi Uekawa2021-05-192-6/+6
| | | | | | | We currently do not pass anything in PREDEFINED and that means FUSE_USE_VERSION is undefined. Add that definition so that Doxygen built-in C pre-processor can use FUSE_USE_VERSION value to find the correct comment to parse.
* Fix memory leaks in examples (#604)Christian Menges2021-05-092-1/+17
|
* Bump cxxopts from 2.2.0 to 2.2.1 (#602)Christian Menges2021-05-091-41/+78
|
* doc: Add "fuse (4)" to SEE ALSO sections in man pages (#601)rfjakob2021-05-082-0/+2
| | | | | | | | | | | fuse (4) is an excellent introduction to the FUSE protocol, and it lists fusermount (1) and mount.fuse (8) in its SEE ALSO section. I (the author of gocryptfs) was not aware of this man page till March 2021, which suggest that it should be made more discoverable. So link back to fuse (4) in our SEE ALSO sections.
* Fix doxygen warnings. (#600)Junichi Uekawa2021-05-074-17/+20
| | | Some parameters were undocumented, and @file does not mean to expand current file name.
* fusermount3.1: refer to mount.fuse3 (#599)Junichi Uekawa2021-05-051-1/+1
| | | mount.fuse was renamed to mount.fuse3.
* Add missing exceptions to fuse_reply_err() documentation. (#597)Manuel Jacob2021-04-231-1/+1
| | | Co-authored-by: Manuel Jacob <test>
* Fix a few meson warnings (#596)Heiko Becker2021-04-131-5/+8
| | | | | | | | | | | | | | * Use meson's warning_level instead of passing -Wflags "-Wall" is included by default and level 2 adds "-Wextra". Avoids a warning from meson. Signed-off-by: Heiko Becker <heirecka@exherbo.org> * Set the C++ language standard through a meson option Avoids a warning from meson. Signed-off-by: Heiko Becker <heirecka@exherbo.org>
* Added ChangeLog template for next release.Nikolaus Rath2021-04-121-0/+5
|
* Released 3.10.3fuse-3.10.3Nikolaus Rath2021-04-123-2/+7
|
* Remove unused fuse_worker bufsize (#590)Hookey2021-04-121-1/+0
| | | Not used since https://github.com/libfuse/libfuse/commit/561d7054d856eea6c2d634093546d6af773dada9