aboutsummaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAge
* Remove fuse_fs_fgetattr and fuse_fs_ftruncate from linker scriptGravatar pablomh2017-05-25
| | | They were removed from source here: https://github.com/libfuse/libfuse/commit/73b6ff4b75cf1228ea61262c293fcb2fda5dfeea
* lib/meson.build: don't crash if there's no libdlGravatar Nikolaus Rath2017-05-24
| | | | | | For example, FreeBSD doesn't have it. Fixes: #173.
* fuse_signals.c: use new do_nothing function instead of SIG_IGNGravatar Nikolaus Rath2017-05-24
| | | | Fixes: #160.
* Released libfuse 3.0.2Gravatar Nikolaus Rath2017-05-24
|
* make buffer size match kernel max transfer sizeGravatar Carlos Maiolino2017-04-20
| | | | | | | | | | | | | | | Currently libfuse has a hardcoded buffer limit to 128kib, while fuse kernel module has a limit up to 32 pages. This patch changes buffer limit to match the current page size, instead of assuming 4096 bytes pages, enabling architectures with bigger pages to use larger buffers, improving performance. Also, add a new macro (HEADER_SIZE) to specify the space needed to accommodate the header, making it easier to understand why those extra 4096 bytes are needed Signed-off-by: Carlos Maiolino <cmaiolino-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
* Set default options before parsingGravatar Tej Chajed2017-04-14
|
* Released 3.0.1Gravatar Nikolaus Rath2017-04-10
|
* Optimize fuse_fs_read. (#145)Gravatar amosonn2017-03-03
| | | Redundant copy when only op.read is available removed.
* Added experimental support for building with Meson+NinjaGravatar Nikolaus Rath2017-01-12
|
* Set IGNORE_MTAB when running under NetBSDGravatar Nikolaus Rath2016-12-23
| | | | | | | Apparently, NetBSD does not have /etc/mtab. Setting IGNORE_MTAB in this case makes the code a little nicer. See also https://github.com/libfuse/libfuse/pull/123
* Memory leak fixed in file : mount_bsd.cGravatar itsdeepak2016-12-23
|
* Improve documentation of fuse_session_unmountGravatar Nikolaus Rath2016-11-29
|
* Return signal value if session loop is terminated by signal and improve ↵Gravatar Nikolaus Rath2016-11-29
| | | | documentation
* Rename more things from fuse to fuse3Gravatar Przemysław Pawełczyk2016-11-28
|
* Make handling of -oallow_root easier to understandGravatar Nikolaus Rath2016-11-22
| | | | | | -oallow_root is handled in userspace, and requires passing -oallow_other to the kernel. This patch should make the code easier to understand and avoid the confusion that gave rise to issue #86.
* Add support for FUSE_HANDLE_KILLPRIVGravatar Nikolaus Rath2016-11-22
| | | | Fixes #116.
* Add support for FUSE_POSIX_ACLGravatar Nikolaus Rath2016-11-22
| | | | Fixes #117.
* Added support for FUSE_PARALLEL_DIROPSGravatar Nikolaus Rath2016-11-22
| | | | | | Enabled by default since we haven't released libfuse 3.0 yet :-). Fixes #112.
* Enable more capabilities by default, and document defaults.Gravatar Nikolaus Rath2016-11-16
| | | | Fixes #112.
* Abort if fs requests capabilities not supported by kernel.Gravatar Nikolaus Rath2016-11-16
| | | | See also issue #114.
* Fail more nicely on max_read mismatchGravatar Nikolaus Rath2016-11-16
| | | | | Instead of abort()ing, close the session properly and return an error code.
* Add support for more detailed error codes from main loopGravatar Nikolaus Rath2016-11-16
|
* Clean-up doxygen documentationGravatar Nikolaus Rath2016-10-28
| | | | Fixes: #81.
* Renamed fusermount / mount.fuse to fusermount3 / mount.fuse3Gravatar Nikolaus Rath2016-10-28
|
* Add max_read to fuse_conn_infoGravatar Nikolaus Rath2016-10-27
| | | | | | | | | | Eventually, this setting should be negotiated in the filesystem's init() handler (like e.g. max_write). However, this requires corresponding changes in the FUSE kernel module. In preparation for this (and to allow a transition period) we already allow (and require) filesystems to set the value in the init() handler in addition to the mount option. The end-goal is tracked in issue #91.
* Use "se" instead of "f" for struct fuse_sessionGravatar Nikolaus Rath2016-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fuse_session pointer is sometimes called f and at other times se. The former is an artifact from the time when there still was a separate struct fuse_ll object. For consistency and to easy maintenance, this patch changes the name of the fuse_session pointer to "se" wherever possible. This patch was generated by the following Coccinelle script: @@ symbol f, se; @@ struct fuse_session * -f +se ; <... -f +se ...> @@ expression expr; @@ struct fuse_session * -f +se = expr; <... -f +se ...> @@ identifier fn; @@ fn(...,struct fuse_session * -f +se ,...) { <... -f +se ...> } Due to its complexity, the do_init() function had to be commented out and then patched manually.
* Added debug logging to chmodGravatar Nikolaus Rath2016-10-24
|
* Fix segfault in debug logging codeGravatar Nikolaus Rath2016-10-24
| | | | fi may be NULL, so we need to protect against this.
* fuse_session_new(): don't accept empty argv, check argv[0]Gravatar Nikolaus Rath2016-10-24
| | | | | | | This should help avoid people to accidentally put options into argv[0]. Fixes #100.
* Turn fuse_operations.nopath_flag into fuse_config.nullpath_okGravatar Nikolaus Rath2016-10-20
| | | | | | Modifying struct fuse_config in the init() handler is the canonical way to adjust file-system implementation specific settings. There is no need to have flags in struct fuse_operations.
* fuse_new(): don't accept options that don't make sense for end-usersGravatar Nikolaus Rath2016-10-20
| | | | | | Several options (use_ino, etc) depend on the file system implementation. Allowing them to be set from the command line makes no sense.
* Pass struct fuse_config to high-level init() handler.Gravatar Nikolaus Rath2016-10-20
|
* Accept zero value for fuse_conn_info optionsGravatar Nikolaus Rath2016-10-20
| | | | This may not make sense for all options, but it's good practice.
* Do not close stdout on fuse_session_destroy()Gravatar Consus2016-10-20
| | | | | | | If fuse_session_mount() fails (or was never called in the first place) we end up with the default fd value which happens to be 0. It hurts long-running processes, which lifetime extends beyond session's lifetime.
* Cast to void where we deliberately ignore return valuesGravatar Nikolaus Rath2016-10-18
|\
| * Ignore some errorsGravatar Mihail Konev2016-10-18
| |
* | Update linker scriptGravatar Nikolaus Rath2016-10-17
| | | | | | | | | | | | - Fixes commit d49f2e77b4. - Fixes commit 199fc0f833. - Thanks to Github user mtheall for the review!
* | fuse_session_new(): accept --debugGravatar Nikolaus Rath2016-10-17
| | | | | | | | | | | | Fixes commit 3e022acf4076. Thanks to Github user mtheall for the review!
* | Inlined fuse_mount_help() into fuse_lowlevel_help().Gravatar Nikolaus Rath2016-10-16
| | | | | | | | | | | | | | | | | | Both the BSD and Linux implementation actually accept mostly the same FUSE-specific mount options. Up to now, the BSD help function appended the output of ``mount_fusefs --help``, but looking at http://www.unix.com/man-page/freebsd/8/mount_fusefs/ this is likely more confusing than helpful (since the user is not actually invoking mount_fusefs directly, most of the options don't make sense).
* | fuse_session_new: accept -o debug as synonym for -dGravatar Nikolaus Rath2016-10-16
| |
* | Make --help output more suitable for end-userGravatar Nikolaus Rath2016-10-15
| | | | | | | | | | | | | | We now only list options that are potentially useful for an end-user (and unlikely to accidentally break a file system). The full list of FUSE options has been moved to the documentation of the fuse_new() and fuse_session_new() functions.
* | Removed -o nopath - it never did anythingGravatar Nikolaus Rath2016-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are overriding this setting with the flag in struct fuse_operations: $ example/hello -f -d ~/tmp/mnt FUSE library version: 3.0.0pre0 nopath: 0 unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0 INIT: 7.25 flags=0x0007fffb max_readahead=0x00020000 INIT: 7.23 flags=0x00006031 max_readahead=0x00020000 max_write=0x00020000 max_background=0 congestion_threshold=0 time_gran=0 unique: 1, success, outsize: 80 $ example/hello -f -d ~/tmp/mnt -o nopath FUSE library version: 3.0.0pre0 nopath: 0 unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0 INIT: 7.25 flags=0x0007fffb max_readahead=0x00020000 INIT: 7.23 flags=0x00006031 max_readahead=0x00020000 max_write=0x00020000 max_background=0 congestion_threshold=0 time_gran=0 unique: 1, success, outsize: 80
* | Removed -o nonempty optionGravatar Nikolaus Rath2016-10-15
| | | | | | | | | | This brings the default behavior in-line with that of the regular `mount` command.
* | Drop -o large_read mount optionGravatar Nikolaus Rath2016-10-15
| | | | | | | | This was only relevant for 2.4 kernels. Fixes #92.
* | Pass fuse_file_info to getattr, chown, chmod, truncate, utimens handlersGravatar Nikolaus Rath2016-10-15
| | | | | | | | | | | | This obsoletes the ftruncate & fgetattr handlers. Fixes #58.
* | Unify handling of fuse_conn_info optionsGravatar Nikolaus Rath2016-10-15
| | | | | | | | | | | | Instead of using command line options to modify struct fuse_conn_info before and after calling the init() handler, we now give the file system explicit control over this.
* | Merge branch 'fixup-lock-options'Gravatar Nikolaus Rath2016-10-15
|\ \ | |/ |/|
| * Re-activated lost no_remote_*lock options.Gravatar Nikolaus Rath2016-10-15
| |
* | Make -o clone_fd into a parameter of session_loop_mt().Gravatar Nikolaus Rath2016-10-13
| | | | | | | | | | | | This option really affects the behavior of the session loop, not the low-level interface. Therefore, it does not belong in the fuse_session object.
* | Move session options into sub-structGravatar Nikolaus Rath2016-10-13
| | | | | | | | | | | | | | The session options are used only once to determine the proper conn->want flags. It is nice to have them clearly separated from the other struct fuse_session members that are used throughout the life of the file system.