| Commit message (Collapse) | Author | Age |
|
|
|
| |
The previous name didn't make much sense.
|
|
|
|
|
|
|
|
|
|
|
| |
We re-introduce the functionality of invalidating the caches for an
inode specified by path by adding a new routine
fuse_invalidate_path. This is useful for network-based file systems
which use the high-level API, enabling them to notify the kernel about
external changes.
This is a revival of Miklos Szeredi's original code for the
fuse_invalidate routine.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This fixes issue #191 (where the test was done by simply adding
FUSE_CAP_WRITEBACK_CACHE without adjusting the flags in the
open() call).
Fixes: #191.
|
|
|
|
|
|
| |
As the comment says, this made it compile but not work. If there is a
need, we can add these checks to meson.build to only build this file
if the prerequisites are satisfied.
|
| |
|
|
|
|
| |
Fixes: #185.
|
|
|
|
| |
Signed-off-by: Banglang <banglang.huang@foxmail.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
update_fs_loop() is still running when the filesystem unmounts,
but it that case calls to fuse_lowlevel_notify_* will fail.
Fixes: #105.
|
| |
|
|
|
|
| |
This reverts commit 179fa13b40387645e722089873079488f9dbe3d8.
|
|
|
|
|
|
|
| |
We can consider changing the code to drop the requirement if it
turns out that there's a system where this isn't given.
Fixes issue #167.
|
| |
|
|
|
|
|
|
| |
This allows calls like open(file, O_CREAT|O_RDONLY, 0200) which would
otherwise fail because we cannot open the file after mknod() has
created it with 0200 permissions.
|
|
|
|
|
| |
No reason not to use it. May even be a little faster and will
consume less resources :-).
|
|
|
|
|
| |
This allows truncating an open file even if write permission
was removed after open() (which is the expected behavior).
|
|
|
|
| |
That way we can use the file descriptor for other operations.
|
|
|
|
| |
Required for better hardlink handling, see comments in patch.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This triggered undefined behaviour warnings from UBSan.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
| |
If we want to do, what system would do anyway upon program termination,
then let's try to be a bit more scrupulous.
|
|
|
|
|
|
| |
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.
|
|
|
| |
"No break at the end of case cuse.c /example line 235 Code Analysis Problem"
|
|
|
|
| |
Fixes: #81.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Several options (use_ino, etc) depend on the file system
implementation. Allowing them to be set from the command line makes no
sense.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This obsoletes the ftruncate & fgetattr handlers.
Fixes #58.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
The fix in commit cf4159156b was incomplete. While some false positives
are caused by sleep() in the file system taking longer than expected,
there was also a race condition where the file system would run before
the contents are initialized properly.
|
|
|
|
|
|
| |
There's now a way to inhibit the "usage" line (which actually got lost
in commit 225c12aebf2d), which makes it easier for simply file-systems
to generate good-looking --help output.
|
| |
|
|
|
|
|
|
|
|
| |
An earlier version of the fioclient.c example was intended to be
used together with cusexmp.c. The former has since evolved into
ioctl_client.c and no longer has the function necessary to test
CUSE. Therefore, we've added a new cuse_client.c that is clearly
associated with the cuse.c example file system.
|
|
|
|
|
| |
I think this is the reason for a sporadic test failure, where
fuse_lowlevel_notify_store() fails.
|