Age | Commit message (Collapse) | Author | Lines |
|
Redirect stdin/stdout/stderr to /dev/null to prevent newly opened
file descriptors from reusing these low numbers (0,1,2) and
potential issues with that.
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
|
|
Some applications use that for detection of features between
distributions/libfuse version.
Closes: https://github.com/libfuse/libfuse/issues/1163
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
(cherry picked from commit 3ae5ca7443348aabad9bc71b9d5b0999f8292379)
|
|
Added PanFSto whitelist. This should allow us to mount gocryptfs onto the parallel filesystem.
Signed-off-by: Jacob Riley <jnr0006@uah.edu>
(cherry picked from commit 3a291c355f3a4966ff3ebb6841b31da0d3010f52)
|
|
Don't spawn a setuid children with FD 1&2 closed.
Check status and not errno after posix_spawn(p).
Add comments to fix later error checking, as
posix_spawn(p) returns non-zero status only if
clone/vfork/rfork fails. If only setup (open, dup2)
or execve fails, the forked process exit with 127
but posix_spawn returns zero.
Signed-off-by: Vassili Tchersky <vt+git@vbc.su>
|
|
|
|
The branch is actually called fuse-3.17.x
Also disable checkpatch for branches except master, as
it is to do basic checks, while stable branches do not
need that check, assuming cherry-pick happens from master.
Issue with it is that persistently complains about dependabot
changes.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
|
|
libfuse-3.17 introduced several functions that should only be called via
inlined helper functions, never directly. To enforce this, these functions
were declared within the inlined functions. However, this triggers the
compiler warning "-Werror=nested-externs".
While this warning is valid, the nested declarations were intentional to
prevent direct usage of these functions. Rather than suppressing the
warning with pragmas, move these function declarations outside the helper
functions while maintaining the intended access restrictions through other
means.
Closes: https://github.com/libfuse/libfuse/issues/1134
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
|
|
Removed:
- <sys/user.h>: used to be for kinfo_proc, long gone from the code
- <paths.h>: used to be for _PATH_DEV and _PATH_DEVNULL, long gone
- <limits.h>: used to be for _POSIX2_LINE_MAX, long gone
- <sys/stat.h>: used to be for fstat/stat, long gone
Signed-off-by: Vassili Tchersky <vt+git@vbcy.org>
|
|
Log on unmount() and close() failure
Signed-off-by: Vassili Tchersky <vt+git@vbcy.org>
|
|
Use _exit() instead of exit() inside children
Signed-off-by: Vassili Tchersky <vt+git@vbcy.org>
|
|
These options never had any effect.
See https://svnweb.freebsd.org/base?view=revision&revision=347544
Signed-off-by: Vassili Tchersky <vt+git@vbcy.org>
|
|
The check on fd < 0 was recently removed. However, this check is important
as the content of FUSE_DEV_FD is passed as-is to mount_fusefs, and a string
beginning by '-' is treated as an option.
Additionally, add a proper include and type.
Signed-off-by: Vassili Tchersky <vt+git@vbcy.org>
|
|
Signed-off-by: Vassili Tchersky <vt+git@vbcy.org>
|
|
Not supported yet on this platform.
See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283179
Signed-off-by: Vassili Tchersky <vt+git@vbcy.org>
|
|
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.8 to 3.28.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/dd746615b3b9d728a6a37ca2045b68ca76d4841a...9e8d0789d4a0fa9ceb6b1738f7e269594bdd67f0)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
See https://github.com/libfuse/libfuse/issues/1125
Signed-off-by: Maksim Harbachou <maksim.harbachou@resilio.com>
|
|
That was missing so far.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Probably some weird corner case in cross compilation,
for now we ignore this.
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
|
|
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
|
|
The UFSD super magic is larger than 32-bit - I don't
know if truncating to 32-bit would work - we just
exclude it for now.
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
|
|
The code uses std::min() which expects its arguments to be size_t. Two
times it uses an offset declared as off_t. While both size_t and off_t
are 32-bit integers, the latter is signed. On 64 bit architectures
the conversation of off_t -> size_t performed automatically. On 32 bit
architectures it needs a type cast.
Signed-off-by: Laszlo Boszormenyi (GCS) <gcs@debian.org>
|
|
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Update ChangeLog.rst and AUTHORS
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
|
|
Somehow really hard to set -rcX with meson.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Cleaning... 18 files.
[35/69] Compiling C object example/passthrough_ll.p/passthrough_ll.c.o
../example/passthrough_ll.c: In function ‘lo_opendir’:
../example/passthrough_ll.c:666:20: warning: ‘fd’ may be used uninitialized [-Wmaybe-uninitialized]
666 | if (fd != -1)
| ^
../example/passthrough_ll.c:637:13: note: ‘fd’ was declared here
637 | int fd;
| ^~
[38/69] Compiling C object test/test_syscalls.p/test_syscalls.c.o
../test/test_syscalls.c: In function ‘test_seekdir’:
../test/test_syscalls.c:804:16: warning: ‘de’ may be used uninitialized [-Wmaybe-uninitialized]
804 | while (de)
| ^~
../test/test_syscalls.c:776:24: note: ‘de’ was declared here
776 | struct dirent *de;
| ^~
These are actually valid.
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
|
|
Another additon for https://github.com/libfuse/libfuse/issues/1092
Use _fuse_new_versioned() instead of _fuse_new_317 and actually
also remove symbol versioning for it - we don't need it.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Acidentally the wrong non-existing function was ccalled.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Similar previous renames to fuse_main_real_versioned,
but here for the low level fuse_session_new.
Also remove symbol versioned as part of "fuse_session_new"
as that function is not part of the official API/ABI
and to allow easier access with dlopen/dlsym.
Also switch back to a macro fuse_session_new, just in
case some code has some expectations on that.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
As suggested by Bill in Issue #1092 make fuse_main a macro again,
just in case some applications expect it to be a macro.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
As suggested by Bill in Issue #1092, rename to _versioned
so that applications using dlopen/dlvsym better understand
the meaning of this function.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.6 to 3.28.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/17a820bf2e43b47be2c72b39cc905417bc1ab6d0...dd746615b3b9d728a6a37ca2045b68ca76d4841a)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
The comment is probably a leftover from older versions, as the application
of the 32 bits of conn.capable_ext to conn.capable is done before function
convert_to_conn_want_ext() is invoked.
Signed-off-by: Luis Henriques <luis@igalia.com>
|
|
Because conn.want_ext is a uint64_t, copying it into a uint32_t may result
in truncating it's value. This patch fixes a bug in do_init() where the
32 bits copy is again converted into a 64 bits value, because it will be
used in convert_to_conn_want_ext().
Signed-off-by: Luis Henriques <luis@igalia.com>
|
|
Probably lots of issues right now, so let's fix it step by step
by only checking modified files - new PRs should fix their
modified files.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.1 to 3.28.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/b6a472f63d85b9c78a3ac5e89422239fc15e9b3c...17a820bf2e43b47be2c72b39cc905417bc1ab6d0)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Main worker threads: fuse_worker
high level clean up threads: "fuse_prune_nodes"
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
So far we only want it to warn about changed symbols.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
This ENOSYS is the fuse protocol return code to tell
fuse client/kernel that an operation is not supported,
warning on it is not right.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
These seem to be fine and exist in the code and also seem to
be common English (there are debates which spelling is right).
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.0 to 3.28.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/48ab28a6f5dbc2a99bf1e0131198dd8f1df78169...b6a472f63d85b9c78a3ac5e89422239fc15e9b3c)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
Comments for fuse_reply_open and fuse_reply_create and with that
doxygen had not been updated for parallel_direct_writes and others.
Signed-off-by: Bernd Schubert <bschubert@ddn.com>
|
|
Issue:
There is no directly way to get the FD
hold by parent process which asked do fuse mount.
Use Case:
For auto_unmount case, identify the FD can easy to close
the FD and make automatically unmount manually and explicitly.
The FD[1] can be got via getenv(FUSE_COMMFD2_ENV).
One potential use case is to satisfy FD-Leak checks.
Solution:
Add an extra env _FUSE_COMMFD2 to store the FD.
This will provide a easy way to get the FD via FUSE_COMMFD2_ENV.
Signed-off-by: Zegang Luo <zegang.luo@qq.com>
|
|
Addresses https://github.com/libfuse/libfuse/issues/1092
We actually don't need to make fuse_main_real() symboled, as it
is not part of the official API.
The inlined function now always calls into fuse_main_real_317
and the compat ABI function (which should also be available
for dlopen/dlsym) is now always compiled, independent if the
compiler/linker support versioned symbols.
Additionally, fuse_main_real() is also declared as inlined
function and a warning message is created when that function
is called.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
We do actually need these, at least for compat.c.
Also disable git commit id warnings, these are doing
more harm than good (for example trigger long line
warnings when fulfilled).
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
_fuse_new() is not supposed to be called by external users
outside of internal functions or static inlined functions.
This also removes several functions from lib/fuse_versionscript
which where added and exported by
commit 58f85bfa9b7d ("Add in the libfuse version a program...)
as these are libfuse internal only.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Commit 58f85bfa9b7d ("Add in the libfuse version a program...")
forgot to add a fuse_main_real function for libfuse compilations
that are not symboled. That is now added in compat.c.
Signed-off-by: Bernd Schubert <bernd@bsbernd.com>
|
|
Commit dd95d13a ("fix readdirplus when filler is called with zero offset
(#896)) broke readdirplus with passthrough example command:
passthrough -o auto_cache,modules=subdir,subdir=/src /mnt
The /src directory looks like this:
~# ls -l /src
total 0
drwx------ 3 root root 60 Jan 2 17:51 testdir
And the fuse directory looks like this:
~# ls -l /mnt
total 0
d--------- 0 root root 0 Jan 1 1970 testdir
Because readdir_fill_from_list() ignores the fact that filesystem
did not pass the FUSE_FILL_DIR_PLUS flag with valid stat info.
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
|
|
passthrough example supports the --plus command line argument to reply
to readdirplus with fill_dir_plus and unspecified (0) fill offsets.
As explained in this comment:
https://github.com/libfuse/libfuse/pull/896#issuecomment-1978917041
passthrough example needs a few more changes to be able to test commit
dd95d13a ("fix readdirplus when filler is called with zero offset (#896))
With the changes in this commit, readdirplus without fill offsets
can be tested to verify the readdirplus fix above with command line:
passthrough --plus -o auto_cache,modules=subdir,subdir=/src /mnt
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
|
|
After pulling latest code, memfs_ll build would fail because it
builds with C++11.
Changing the default of cpp_std in meson.build is not enough to fix this
problem even if user runs 'meson setup --reconfigure'.
I had to run 'meson setup -Dcpp_std= --reconfigure' to fix the build
as mentioned in this meson issue:
https://github.com/mesonbuild/meson/issues/8062#issuecomment-1568249672
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
|