Age | Commit message (Collapse) | Author | Lines |
|
This is a GNU C extension.
|
|
A comment said that fuse_entry_param.generation must be non-zero.
However, I can't find anything in the kernel that requires that, and
real-world file systems don't seem to follow that advice, either.
|
|
FreeBSD doesn't allow creating sockets using mknod(2). Instead, one has to use socket(2)
and bind(2). Add appropriate logic to the examples and add a test case.
|
|
Fixes: #415.
|
|
passthrough_hp puts emphasis and performance and correctness, rather
than simplicity.
|
|
|
|
|
|
|
|
|
|
Fixes #403
|
|
|
|
|
|
fuse.ko has supported FALLOC_FL_KEEP_SIZE and FALLOC_FL_PUNCH_HOLE at this
moment and more modes may be supported in the future.
fallocate(2) supports modes while posix_fallocate(2) does not, so this
makes lo_fallocate use fallocate(2) instead.
Signed-off-by: Liu Bo <bo.liu@linux.alibaba.com>
|
|
|
|
|
|
cache_readdir flag is a new feature.
|
|
Fixes: #394.
|
|
|
|
This constant is not defined in the kernel, so it will be lost when
fuse_kernel.h is not synchronized. Instead, the kernel just passes a
flag value of "1", so for now we also use a literal in userspace.
|
|
See issue #389 for some related discussions.
|
|
See also https://bugzilla.redhat.com/1694552#c7
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
|
Instead of the Posix ioctl(2) command, Linux uses its own variant of ioctl()
in which the commands are requested as "unsigned long" and truncated to
32 bits by the fuse kernel module. Transmitting the commands to user space
file systems as "unsigned int" is a workaround for processing ioctl()
commands which do not fit into a signed int.
|
|
|
|
Fixes: #373
|
|
|
|
Fixes: #333
|
|
|
|
sprintf(3)/snprintf(3) destination buffers need to be large enough
so that gcc doesn't warn -Wformat-truncation= or -Wformat-overflow=
when source buffer size is 1024 bytes.
--
../test/test_syscalls.c:1445:47: warning: '%s' directive output may be truncated writing 1 byte into a region of size between 0 and 1023 [-Wformat-truncation=]
#define PATH(p) (snprintf(path, sizeof path, "%s/%s", testdir, p), path)
^~~~~~~
../test/test_syscalls.c:1458:19:
res = mkdir(PATH("a"), 0755);
~~~
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
|
|
This isn't a system header.
Fixes: #349
|
|
Commit 24b35c3d97ffdbf0a1f8e8b4e94ed892343603a6 had a simple mistake in
its changelog entry.
|
|
cd to mountpoint's parent directory using unprivileged rather than
privileged access. This is to ensure that unmount works on mountpoints
where root may not have privileged access.
Fixes: #376
|
|
|
|
|
|
|
|
If hello_ll is invoked without a mountpoint, it will try to call
fuse_session_mount anyway with the NULL mountpoint (which then causes a
segfault). Print out a short help message instead (taken from
passthrough_ll.c).
|
|
Fixes: #360
|
|
lo_create() did not honour CACHE_NEVER in lo_create(), which has an effect
on how I/O is performed after the open.
The value of CACHE_ALWAYS, which results in setting fi->keep_cache, only
has an effect for the state of the cache at open, and since the file was
just created the cache is always empty. Hence setting this doesn't have an
effect on lo_create(), but keep it for symmetry with lo_open().
|
|
Fixes: #341.
|
|
70e25ea74e("Fix build on non-Linux") broke build on DragonFly BSD,
or likely anything other than FreeBSD and NetBSD that is not Linux.
Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
|
|
Fixes: #336.
|
|
Fixes: #338.
|
|
|
|
|
|
|
|
If do_readdir() calls do_lookup(), but the latter fails, we still have
to return any entries that we already stored in the readdir buffer to
avoid leaking inodes.
do_lookup() may fail if e.g. we reach the file descriptor limit.
|
|
|
|
|
|
|
|
Fixes: #327
|
|
|