Nikolaus Rath [Thu, 6 Apr 2017 05:35:37 +0000 (22:35 -0700)]
tst_mkdir(): factor out tst_rmdir()
This allows testing a filesystem that offers mkdir(), but no
rmdir() (and vice versa).
Nikolaus Rath [Thu, 6 Apr 2017 05:32:45 +0000 (22:32 -0700)]
Rename tst_unlink() to tst_open_unlink()
This makes more sense, since we are specifically checking
unlinking of an open file.
Nikolaus Rath [Thu, 6 Apr 2017 05:17:59 +0000 (22:17 -0700)]
tst_readdir(): don't require create/mkdir support
By creating the files in the lower filesystem, we
can test readdir() even for filesystems that don't implement
create() or mkdir().
Nikolaus Rath [Wed, 5 Apr 2017 23:50:48 +0000 (16:50 -0700)]
passthrough_ll: document that functionality is restricted
guraga [Tue, 28 Mar 2017 15:57:23 +0000 (22:57 +0700)]
hello.c: don't use constant instead of magic number
Nikolaus Rath [Thu, 16 Mar 2017 17:47:26 +0000 (10:47 -0700)]
Document that -o auto_unmount implies -o nodev,nosuid
See also issue #148.
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.