Nikolaus Rath [Wed, 15 Mar 2017 23:52:39 +0000 (16:52 -0700)]
meson.build(): don't use absolute path for include_dir()
No longer supported in Meson 0.39.
Nikolaus Rath [Wed, 15 Mar 2017 23:44:03 +0000 (16:44 -0700)]
passthrough_fh: declare support for . and .. lookups.
Nikolaus Rath [Wed, 15 Mar 2017 23:44:35 +0000 (16:44 -0700)]
open(): fix documentation of O_TRUNC flag
The FUSE_CAP_ATOMIC_IO_TRUNC capability is enabled by default,
but we didn't update the open() documentation accordingly.
Nikolaus Rath [Wed, 15 Mar 2017 23:13:39 +0000 (16:13 -0700)]
Document minimum required Meson version.
Fixes #138.
amosonn [Fri, 3 Mar 2017 20:44:59 +0000 (21:44 +0100)]
Optimize fuse_fs_read. (#145)
Redundant copy when only op.read is available removed.
Nikolaus Rath [Mon, 23 Jan 2017 20:07:09 +0000 (12:07 -0800)]
Put -Werror in mesonconf, not CFLAGS
Putting it in CFLAGS interferes with feature detection.
Nikolaus Rath [Mon, 23 Jan 2017 20:06:25 +0000 (12:06 -0800)]
Pass _GNU_SOURCE as compiler argument
Defining it in the file causes trouble because Meson sometimes
inserts includes before the first line.
Nikolaus Rath [Thu, 12 Jan 2017 22:26:06 +0000 (14:26 -0800)]
Only use valgrind if requested explicitly + enable address sanitizer
Nikolaus Rath [Thu, 12 Jan 2017 03:16:25 +0000 (19:16 -0800)]
Switch Travis build to Meson+Ninja
Nikolaus Rath [Thu, 5 Jan 2017 17:37:00 +0000 (09:37 -0800)]
Added experimental support for building with Meson+Ninja
Nikolaus Rath [Thu, 12 Jan 2017 23:17:54 +0000 (15:17 -0800)]
Replaced evil pointer magic with offsetof()
This triggered undefined behaviour warnings from UBSan.
Nikolaus Rath [Thu, 12 Jan 2017 18:10:34 +0000 (10:10 -0800)]
Rephrased security information
The permission caching bug has been present forever, is presumably
going to stay around for a while, and is of less concern if
allow_other is not used. Since allow_other is disabled by default, I
think we can safely make this warning less prominent and document the
problem when we describe allow_other.
Also, drop the travis build status. It's confusing when reading
README.md after extracting the tarball, and I am not sure who benefits
from the build status when it is shown on GitHub either.
Nikolaus Rath [Thu, 12 Jan 2017 04:41:48 +0000 (20:41 -0800)]
Return with exitcode 0 if there are no errors.
Nikolaus Rath [Tue, 10 Jan 2017 22:34:42 +0000 (14:34 -0800)]
Skip tests if not root and no setuid fusermount3.
Nikolaus Rath [Tue, 3 Jan 2017 20:31:36 +0000 (12:31 -0800)]
Don't run whitespace cleanup
Since existing whitespace usage is not consistent, this causes
a lot of spurious whitespace changes.
Nikolaus Rath [Sat, 24 Dec 2016 02:47:01 +0000 (18:47 -0800)]
Set IGNORE_MTAB when running under NetBSD
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
Nikolaus Rath [Sat, 24 Dec 2016 02:46:16 +0000 (18:46 -0800)]
Use tabs in configure.ac
itsdeepak [Mon, 19 Dec 2016 09:26:40 +0000 (14:56 +0530)]
Memory leak fixed in file : mount_bsd.c
Nikolaus Rath [Sat, 24 Dec 2016 02:31:45 +0000 (18:31 -0800)]
Added documentation and test case for null example
Nikolaus Rath [Sat, 24 Dec 2016 02:31:34 +0000 (18:31 -0800)]
Fixed use of uninitialized memory.
Csaba Henk [Fri, 16 Dec 2016 13:47:24 +0000 (14:47 +0100)]
Revert "Dropped example/null.c"
This reverts commit
d5cdbb94a0650b0a462682cf0a84463ff1513900.
null works completely fine, just the mountpoint should
be a regular file -- so there is no need to dismiss it.
Also:
- fixing up compiler warnings
- checking if the mountpoint is a regular file
Arunav Sanyal [Sun, 11 Dec 2016 08:35:53 +0000 (00:35 -0800)]
Adding the markdown for travis CI build.
Nikolaus Rath [Fri, 9 Dec 2016 17:33:01 +0000 (09:33 -0800)]
Released 3.0.0
Jay Hankins [Sun, 4 Dec 2016 17:13:25 +0000 (12:13 -0500)]
Fix a grammatical error.
Nikolaus Rath [Tue, 29 Nov 2016 16:35:03 +0000 (08:35 -0800)]
Released 3.0.0rc3
Nikolaus Rath [Wed, 23 Nov 2016 23:59:52 +0000 (15:59 -0800)]
Improve documentation of fuse_session_unmount
Nikolaus Rath [Thu, 24 Nov 2016 00:00:45 +0000 (16:00 -0800)]
Return signal value if session loop is terminated by signal and improve documentation
Nikolaus Rath [Tue, 29 Nov 2016 15:59:03 +0000 (07:59 -0800)]
Improve documentation of `fuse_file_info.keep_cache`
Przemyslaw Pawelczyk [Mon, 28 Nov 2016 13:59:19 +0000 (14:59 +0100)]
examples/passthrough_ll.c: Include <limits.h> (for PATH_MAX macro).
Otherwise building w/o optimization (-O0) fails.
passthrough_ll.c: In function 'lo_readlink':
passthrough_ll.c:251:11: error: 'PATH_MAX' undeclared (first use in this function)
char buf[PATH_MAX + 1];
(gcc v5.3.0 in Alpine Linux v3.4.6 x86_64 w/ musl-libc v1.1.14.)
Przemyslaw Pawelczyk [Mon, 28 Nov 2016 13:48:10 +0000 (14:48 +0100)]
examples/passthrough_ll.c: Close root fd before application ends.
If we want to do, what system would do anyway upon program termination,
then let's try to be a bit more scrupulous.
Przemyslaw Pawelczyk [Mon, 28 Nov 2016 13:41:37 +0000 (14:41 +0100)]
examples/passthrough_ll.c: Fix segfault when showing help or version.
root lo_inode's next and prev were not set early enough, which led to
accessing addr 0x8 (or 0x4, depending on ptr size) when setting prev
variable in lo_free(lo.root.next), because lo.root.next was NULL.
Przemysław Pawełczyk [Tue, 29 Nov 2016 05:33:14 +0000 (06:33 +0100)]
Rename more things from fuse to fuse3
Nikolaus Rath [Wed, 23 Nov 2016 00:37:13 +0000 (16:37 -0800)]
Document that FUSE_CAP_POSIX_ACL turns on -o default_permissions
Nikolaus Rath [Wed, 23 Nov 2016 00:34:21 +0000 (16:34 -0800)]
Make handling of -oallow_root easier to understand
-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.
Nikolaus Rath [Tue, 22 Nov 2016 23:56:55 +0000 (15:56 -0800)]
Add support for FUSE_HANDLE_KILLPRIV
Fixes #116.
Nikolaus Rath [Tue, 22 Nov 2016 23:15:05 +0000 (15:15 -0800)]
Add support for FUSE_POSIX_ACL
Fixes #117.
Nikolaus Rath [Tue, 22 Nov 2016 23:05:52 +0000 (15:05 -0800)]
Added support for FUSE_PARALLEL_DIROPS
Enabled by default since we haven't released libfuse 3.0 yet :-).
Fixes #112.
Nikolaus Rath [Tue, 22 Nov 2016 22:58:42 +0000 (14:58 -0800)]
Updated kernel API headers.
Taken from Linux kernel commit
27bcd37.
Nikolaus Rath [Tue, 22 Nov 2016 22:48:08 +0000 (14:48 -0800)]
Document fuse_conn_info.max_background
Fixes #95.
Nikolaus Rath [Thu, 17 Nov 2016 23:49:19 +0000 (15:49 -0800)]
Distinguish between mount options and libfuse options
Nikolaus Rath [Thu, 17 Nov 2016 23:49:05 +0000 (15:49 -0800)]
Fixed manpage formatting.
Nikolaus Rath [Wed, 16 Nov 2016 21:04:47 +0000 (13:04 -0800)]
Enable more capabilities by default, and document defaults.
Fixes #112.
Nikolaus Rath [Wed, 16 Nov 2016 20:46:56 +0000 (12:46 -0800)]
Update ChangeLog to include recent documentation improvements
Nikolaus Rath [Wed, 16 Nov 2016 20:45:51 +0000 (12:45 -0800)]
Abort if fs requests capabilities not supported by kernel.
See also issue #114.
Nikolaus Rath [Wed, 16 Nov 2016 20:44:26 +0000 (12:44 -0800)]
Fail more nicely on max_read mismatch
Instead of abort()ing, close the session properly and return an
error code.
Nikolaus Rath [Wed, 16 Nov 2016 20:42:35 +0000 (12:42 -0800)]
Fix typo in comment
Nikolaus Rath [Wed, 16 Nov 2016 20:41:41 +0000 (12:41 -0800)]
Add support for more detailed error codes from main loop
Nikolaus Rath [Wed, 16 Nov 2016 20:22:54 +0000 (12:22 -0800)]
Fix typo in comment
Nikolaus Rath [Wed, 16 Nov 2016 20:22:38 +0000 (12:22 -0800)]
Document special semantics of ENOSYS error code.
Nikolaus Rath [Wed, 16 Nov 2016 19:28:42 +0000 (11:28 -0800)]
Document "congestion_threshold" parameter.
Fixes #96.
Thanks to Maxim Patlasov <mpatlasov@virtuozzo.com> for help!
Nikolaus Rath [Tue, 15 Nov 2016 03:47:32 +0000 (19:47 -0800)]
Make max_background and congestion_threshold "officially undocumented"
Nikolaus Rath [Tue, 15 Nov 2016 03:29:59 +0000 (19:29 -0800)]
Improve documentation of FUSE_CAP_AUTO_INVAL_DATA
Fixes #84.
Nikolaus Rath [Tue, 15 Nov 2016 00:13:11 +0000 (16:13 -0800)]
Improve getattr() description
When writeback caching is enabled, the st_size value reported
by the filesystem may be ignored.
Nikolaus Rath [Mon, 14 Nov 2016 19:33:33 +0000 (11:33 -0800)]
Improve description of FUSE_CAP_NO_OPEN_SUPPORT flag.
Fixes #107.
Nikolaus Rath [Thu, 10 Nov 2016 22:51:11 +0000 (14:51 -0800)]
Added documentation for FUSE_CAP_FLOCK_LOCKS
Fixes #106.
Nikolaus Rath [Thu, 10 Nov 2016 22:04:51 +0000 (14:04 -0800)]
Improve documentation of fuse_conn_info.time_gran.
Fixes #97.
Nikolaus Rath [Thu, 10 Nov 2016 21:11:57 +0000 (13:11 -0800)]
Make test for util-linux version more robust
The current version fails on Amazon Linux. This check should work
better.
Fixes #64.
Nikolaus Rath [Thu, 10 Nov 2016 21:09:05 +0000 (13:09 -0800)]
Don't expect EACCESS errors as root
Fixes #111.
Nikolaus Rath [Mon, 7 Nov 2016 06:00:30 +0000 (22:00 -0800)]
Released 3.0.0-rc2
Nikolaus Rath [Mon, 7 Nov 2016 05:58:26 +0000 (21:58 -0800)]
Removed reference to developer-notes.rst (was removed earlier)
Nikolaus Rath [Mon, 7 Nov 2016 05:53:28 +0000 (21:53 -0800)]
Fixed section names in documentation index
Nikolaus Rath [Mon, 7 Nov 2016 05:47:56 +0000 (21:47 -0800)]
Fix documentation: fuse_file_info may be NULL for open files
This turns issue #62 from a bug into an enhancement :-).
Nikolaus Rath [Mon, 7 Nov 2016 05:44:30 +0000 (21:44 -0800)]
Removed reference to fgetattr and ftruncate (don't exist anymore)
Nikolaus Rath [Mon, 7 Nov 2016 05:44:05 +0000 (21:44 -0800)]
Fixed typo in comment.
Nikolaus Rath [Mon, 7 Nov 2016 05:00:57 +0000 (21:00 -0800)]
Don't hardcode test file name.
Nikolaus Rath [Mon, 7 Nov 2016 04:59:55 +0000 (20:59 -0800)]
Added test for fchmod
At the moment this test fails (cf. issue #62). If that gets fixed in the
kernel, this test can be activated conditionally.
Nikolaus Rath [Mon, 31 Oct 2016 17:20:43 +0000 (10:20 -0700)]
Merge pull request #109 from divinity76/patch-1
silence bogus eclipse linter warning
divinity76 [Mon, 31 Oct 2016 13:39:20 +0000 (14:39 +0100)]
silence bogus eclipse linter warning
"No break at the end of case cuse.c /example line 235 Code Analysis Problem"
Nikolaus Rath [Sat, 29 Oct 2016 03:44:39 +0000 (20:44 -0700)]
Clean-up doxygen documentation
Fixes: #81.
Nikolaus Rath [Fri, 28 Oct 2016 21:54:20 +0000 (14:54 -0700)]
Fix memory leak in fusermount.
Nikolaus Rath [Wed, 26 Oct 2016 04:06:14 +0000 (21:06 -0700)]
Renamed fusermount / mount.fuse to fusermount3 / mount.fuse3
Nikolaus Rath [Fri, 28 Oct 2016 18:58:01 +0000 (11:58 -0700)]
Released 3.0.0rc1
Mihail Konev [Tue, 18 Oct 2016 04:50:22 +0000 (04:50 +0000)]
man: Document suid requirement
Nikolaus Rath [Fri, 28 Oct 2016 04:38:42 +0000 (21:38 -0700)]
Add max_read to fuse_conn_info
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.
Nikolaus Rath [Fri, 28 Oct 2016 03:54:45 +0000 (20:54 -0700)]
Removed obsolete FUSE_DEV_OLD
Nikolaus Rath [Fri, 28 Oct 2016 03:50:16 +0000 (20:50 -0700)]
Removed some more "Changed in version x.py" comments.
Nikolaus Rath [Thu, 27 Oct 2016 20:51:59 +0000 (13:51 -0700)]
Recommend when to use -o default_permissions automatically
Nikolaus Rath [Thu, 27 Oct 2016 20:42:08 +0000 (13:42 -0700)]
Describe all mount options in mount.fuse(8).
Also improved manpage in several ways.
Nikolaus Rath [Thu, 27 Oct 2016 19:46:16 +0000 (12:46 -0700)]
Improve documentation of -o default_permissions
Nikolaus Rath [Thu, 27 Oct 2016 19:32:03 +0000 (12:32 -0700)]
Improve documentation of capability flags.
Nikolaus Rath [Thu, 27 Oct 2016 16:43:28 +0000 (09:43 -0700)]
Improve man page title
Nikolaus Rath [Wed, 26 Oct 2016 05:16:33 +0000 (22:16 -0700)]
Clarify which mount options are intended for file-system internal use.
Nikolaus Rath [Wed, 26 Oct 2016 03:51:04 +0000 (20:51 -0700)]
Clarify difference between notify_inval_entry and notify_delete().
Fixes #85.
Nikolaus Rath [Wed, 26 Oct 2016 03:38:34 +0000 (20:38 -0700)]
Use "se" instead of "f" for struct fuse_session
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.
Nikolaus Rath [Tue, 25 Oct 2016 04:17:54 +0000 (21:17 -0700)]
Added debug logging to chmod
Nikolaus Rath [Tue, 25 Oct 2016 04:09:00 +0000 (21:09 -0700)]
Fix segfault in debug logging code
fi may be NULL, so we need to protect against this.
Nikolaus Rath [Tue, 25 Oct 2016 03:31:29 +0000 (20:31 -0700)]
fuse_session_new(): don't accept empty argv, check argv[0]
This should help avoid people to accidentally put options
into argv[0].
Fixes #100.
Nikolaus Rath [Thu, 20 Oct 2016 22:45:32 +0000 (15:45 -0700)]
Turn fuse_operations.nopath_flag into fuse_config.nullpath_ok
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.
Nikolaus Rath [Wed, 19 Oct 2016 04:23:22 +0000 (21:23 -0700)]
fuse_new(): don't accept options that don't make sense for end-users
Several options (use_ino, etc) depend on the file system
implementation. Allowing them to be set from the command line makes no
sense.
Nikolaus Rath [Wed, 19 Oct 2016 04:26:40 +0000 (21:26 -0700)]
Document -o remember= mount option.
Nikolaus Rath [Wed, 19 Oct 2016 04:02:32 +0000 (21:02 -0700)]
Pass struct fuse_config to high-level init() handler.
Nikolaus Rath [Tue, 18 Oct 2016 04:31:37 +0000 (21:31 -0700)]
ChangeLog: Remind people of to use FUSE_CAP_EXPORT_SUPPORT
Nikolaus Rath [Tue, 18 Oct 2016 04:28:31 +0000 (21:28 -0700)]
Accept zero value for fuse_conn_info options
This may not make sense for all options, but it's good practice.
Nikolaus Rath [Tue, 18 Oct 2016 04:22:47 +0000 (21:22 -0700)]
Removed all "Introduced in..." comments
Since FUSE 3 is breaking backwards compatibility, this really does
not matter.
Nikolaus Rath [Tue, 18 Oct 2016 04:08:21 +0000 (21:08 -0700)]
mount.fuse(8): remove max_readahead, max_write, [a]sync_read
These are not mount options for FUSE file systems, but capabilites that
are worked out between libfuse and the fuse kernel module. For that
reason, they are also not accepted by fuse_session_new().
Consus [Thu, 20 Oct 2016 13:08:49 +0000 (16:08 +0300)]
Do not close stdout on fuse_session_destroy()
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.
Nikolaus Rath [Wed, 19 Oct 2016 01:54:14 +0000 (18:54 -0700)]
Cast to void where we deliberately ignore return values
Mihail Konev [Tue, 18 Oct 2016 04:02:52 +0000 (04:02 +0000)]
Ignore some errors
Nikolaus Rath [Tue, 18 Oct 2016 03:20:21 +0000 (20:20 -0700)]
Update linker script
- Fixes commit
d49f2e77b4.
- Fixes commit
199fc0f833.
- Thanks to Github user mtheall for the review!
Nikolaus Rath [Tue, 18 Oct 2016 03:16:58 +0000 (20:16 -0700)]
fuse_session_new(): accept --debug
Fixes commit
3e022acf4076.
Thanks to Github user mtheall for the review!