#
088cc7d2 |
| 08-Jun-2024 |
Alexander Ziaee <concussious@runbox.com> |
man filesystems: fix more xrefs after move to s4
Fixes: 1a720cbec513 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1282
|
Revision tags: release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
b3e76948 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
4ac4b126 |
| 05-May-2022 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: annotate more file descriptor leaks in the tests
The fusefs tests intentionally leak file descriptors. Annotate all of the leakages in order to hopefully pacify Coverity.
Reported by: Cove
fusefs: annotate more file descriptor leaks in the tests
The fusefs tests intentionally leak file descriptors. Annotate all of the leakages in order to hopefully pacify Coverity.
Reported by: Coverity (20 different CIDs) MFC after: 2 weeks Sponsored by: Axcient
show more ...
|
Revision tags: release/12.3.0 |
|
#
7124d2bc |
| 25-Sep-2021 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: implement FUSE_NO_OPEN_SUPPORT and FUSE_NO_OPENDIR_SUPPORT
For file systems that allow it, fusefs will skip FUSE_OPEN, FUSE_RELEASE, FUSE_OPENDIR, and FUSE_RELEASEDIR operations, a minor opt
fusefs: implement FUSE_NO_OPEN_SUPPORT and FUSE_NO_OPENDIR_SUPPORT
For file systems that allow it, fusefs will skip FUSE_OPEN, FUSE_RELEASE, FUSE_OPENDIR, and FUSE_RELEASEDIR operations, a minor optimization.
MFC after: 2 weeks Reviewed by: pfg Differential Revision: https://reviews.freebsd.org/D32141
show more ...
|
Revision tags: release/13.0.0, release/12.2.0 |
|
#
d2621689 |
| 02-Oct-2020 |
Alan Somers <asomers@FreeBSD.org> |
fusefs tests: quell Coverity "Argument cannot be negative" warnings
Must abort tests early if open(2) fails.
Reported by: Coverity Coverity CID: 1432810 and many others Reviewed by: kevans MFC afte
fusefs tests: quell Coverity "Argument cannot be negative" warnings
Must abort tests early if open(2) fails.
Reported by: Coverity Coverity CID: 1432810 and many others Reviewed by: kevans MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D26635
show more ...
|
Revision tags: release/11.4.0 |
|
#
27537990 |
| 18-May-2020 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: fix intermittency in some ENOENT tests
When a FUSE operation other than LOOKUP returns ENOENT, the kernel will reclaim that vnode, resuling in a FUSE_FORGET being sent a short while later.
fusefs: fix intermittency in some ENOENT tests
When a FUSE operation other than LOOKUP returns ENOENT, the kernel will reclaim that vnode, resuling in a FUSE_FORGET being sent a short while later. Many of the ENOENT tests weren't expecting those FUSE_FORGET operations. They usually passed by luck since FUSE_FORGET is often delayed. This commit adds appropriate expectations.
MFC after: 2 weeks
show more ...
|
Revision tags: release/12.1.0 |
|
#
f993ed2f |
| 09-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r351732 through r352104.
|
#
8e765737 |
| 06-Sep-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: coverity cleanup in the tests
Address the following defects reported by Coverity:
* Structurally dead code (CID 1404366): set m_quit before FAIL, not after
* Unchecked return value of sysc
fusefs: coverity cleanup in the tests
Address the following defects reported by Coverity:
* Structurally dead code (CID 1404366): set m_quit before FAIL, not after
* Unchecked return value of sysctlbyname (CID 1404321)
* Unchecked return value of stat(2) (CID 1404471)
* Unchecked return value of open(2) (CID 1404402, 1404529)
* Unchecked return value of dup(2) (CID 1404478)
* Buffer overflows. These are all false positives caused by the fact that Coverity thinks I'm using a buffer to store strings, when in fact I'm really just using it to store a byte array that happens to be initialized with a string. I'm changing the type from char to uint8_t in the hopes that it will placate Coverity. (CID 1404338, 1404350, 1404367, 1404376, 1404379, 1404381, 1404388, 1404403, 1404425, 1404433, 1404434, 1404474, 1404480, 1404484, 1404503, 1404505)
* False positive file descriptor leak. I'm going to try to fix this with Coverity modeling, but I'll also change an EXPECT to ASSERT so we don't perform meaningless assertions after the failure. (CID 1404320, 1404324, 1404440, 1404445).
* Unannotated file descriptor leak. This will be followed up by a Coverity modeling change. (CID 1404326, 1404334, 1404336, 1404357, 1404361, 1404372, 1404391, 1404395, 1404409, 1404430, 1404448, 1404451, 1404455, 1404457, 1404458, 1404460)
* Uninitialized variables in C++ constructors (CID 1404327, 1404346). In the case of m_maxphys, this actually led to part of the FUSE_INIT's response being set to stack garbage during the WriteCluster::clustering test.
* Uninitialized sun_len field in struct sockaddr_un (CID 1404330, 1404371, 1404429).
Reported by: Coverity Reviewed by: emaste MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D21457
show more ...
|
#
1fa8ebfb |
| 13-Aug-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: add SVN Keywords to the test files
Reported by: SVN pre-commit hooks MFC after: 15 days MFC-With: r350665 Sponsored by: The FreeBSD Foundation
|
#
0b4275ac |
| 07-Aug-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: merge from projects/fuse2
This commit imports the new fusefs driver. It raises the protocol level from 7.8 to 7.23, fixes many bugs, adds a test suite for the driver, and adds many new featu
fusefs: merge from projects/fuse2
This commit imports the new fusefs driver. It raises the protocol level from 7.8 to 7.23, fixes many bugs, adds a test suite for the driver, and adds many new features. New features include:
* Optional kernel-side permissions checks (-o default_permissions) * Implement VOP_MKNOD, VOP_BMAP, and VOP_ADVLOCK * Allow interrupting FUSE operations * Support named pipes and unix-domain sockets in fusefs file systems * Forward UTIME_NOW during utimensat(2) to the daemon * kqueue support for /dev/fuse * Allow updating mounts with "mount -u" * Allow exporting fusefs file systems over NFS * Server-initiated invalidation of the name cache or data cache * Respect RLIMIT_FSIZE * Try to support servers as old as protocol 7.4
Performance enhancements include:
* Implement FUSE's FOPEN_KEEP_CACHE and FUSE_ASYNC_READ flags * Cache file attributes * Cache lookup entries, both positive and negative * Server-selectable cache modes: writethrough, writeback, or uncached * Write clustering * Readahead * Use counter(9) for statistical reporting
PR: 199934 216391 233783 234581 235773 235774 235775 PR: 236226 236231 236236 236291 236329 236381 236405 PR: 236327 236466 236472 236473 236474 236530 236557 PR: 236560 236844 237052 237181 237588 238565 Reviewed by: bcr (man pages) Reviewed by: cem, ngie, rpokala, glebius, kib, bde, emaste (post-commit review on project branch) MFC after: 3 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Pull Request: https://reviews.freebsd.org/D21110
show more ...
|
Revision tags: release/11.3.0 |
|
#
7fc0921d |
| 26-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: annotate deliberate file descriptor leaks in the tests
closing a file descriptor causes FUSE activity that is superfluous to the purpose of most tests, but would nonetheless require matching
fusefs: annotate deliberate file descriptor leaks in the tests
closing a file descriptor causes FUSE activity that is superfluous to the purpose of most tests, but would nonetheless require matching expectations. Rather than do that, most tests deliberately leak file descriptors instead. This commit moves the leakage from each test into two trivial functions: leak and leakdir. Hopefully Coverity will only complain about those functions and not all of their callers.
Sponsored by: The FreeBSD Foundation
show more ...
|
#
a34cdd26 |
| 31-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: prefer FUSE_ROOT_ID to literal 1 in the tests
Sponsored by: The FreeBSD Foundation
|
#
29edc611 |
| 27-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: make the tests more cplusplusy
* Prefer std::unique_ptr to raw pointers * Prefer pass-by-reference to pass-by-pointer * Prefer static_cast to C-style cast, unless it's too much typing
Repor
fusefs: make the tests more cplusplusy
* Prefer std::unique_ptr to raw pointers * Prefer pass-by-reference to pass-by-pointer * Prefer static_cast to C-style cast, unless it's too much typing
Reported by: ngie Sponsored by: The FreeBSD Foundation
show more ...
|
#
8acfadfa |
| 29-Apr-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: remove an obsolete fifo test
This should've been part of r346868
Sponsored by: The FreeBSD Foundation
|
#
a1542146 |
| 18-Apr-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: improvements to interruptibility
* If a process receives a fatal signal while blocked on a fuse operation, return ASAP without waiting for the operation to complete. But still send the
fusefs: improvements to interruptibility
* If a process receives a fatal signal while blocked on a fuse operation, return ASAP without waiting for the operation to complete. But still send the FUSE_INTERRUPT op to the daemon. * Plug memory leaks from r346339
Interruptibility is now fully functional, but it could be better: * Operations that haven't been sent to the server yet should be aborted without sending FUSE_INTERRUPT. * It would be great if write operations could be made restartable. That would require delaying uiomove until the last possible moment, which would be sometime during fuse_device_read. * It would be nice if we didn't have to guess which EAGAIN responses were for FUSE_INTERRUPT operations.
PR: 236530 Sponsored by: The FreeBSD Foundation
show more ...
|
#
cad67791 |
| 08-Apr-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: cache file attributes
FUSE_LOOKUP, FUSE_GETATTR, FUSE_SETATTR, FUSE_MKDIR, FUSE_LINK, FUSE_SYMLINK, FUSE_MKNOD, and FUSE_CREATE all return file attributes with a cache validity period. fuse
fusefs: cache file attributes
FUSE_LOOKUP, FUSE_GETATTR, FUSE_SETATTR, FUSE_MKDIR, FUSE_LINK, FUSE_SYMLINK, FUSE_MKNOD, and FUSE_CREATE all return file attributes with a cache validity period. fusefs will now cache the attributes, if the server returns a non-zero cache validity period.
This change does _not_ implement finite attr cache timeouts. That will follow as part of PR 235773.
PR: 235775 Reported by: cem Sponsored by: The FreeBSD Foundation
show more ...
|
#
9f10f423 |
| 03-Apr-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: send FUSE_FLUSH during VOP_CLOSE
The FUSE protocol says that FUSE_FLUSH should be send every time a file descriptor is closed. That's not quite possible in FreeBSD because multiple file des
fusefs: send FUSE_FLUSH during VOP_CLOSE
The FUSE protocol says that FUSE_FLUSH should be send every time a file descriptor is closed. That's not quite possible in FreeBSD because multiple file descriptors can share a single struct file, and closef doesn't call fo_close until the last close. However, we can still send FUSE_FLUSH on every VOP_CLOSE, which is probably good enough.
There are two purposes for FUSE_FLUSH. One is to allow file systems to return EIO if they have an error when writing data that's cached server-side. The other is to release POSIX file locks (which fusefs(5) does not yet support).
PR: 236405, 236327 Sponsored by: The FreeBSD Foundation
show more ...
|
#
f8d4af10 |
| 01-Apr-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: send FUSE_OPEN for every open(2) with unique credentials
By default, FUSE performs authorization in the server. That means that it's insecure for the client to reuse FUSE file handles betwe
fusefs: send FUSE_OPEN for every open(2) with unique credentials
By default, FUSE performs authorization in the server. That means that it's insecure for the client to reuse FUSE file handles between different users, groups, or processes. Linux handles this problem by creating a different FUSE file handle for every file descriptor. FreeBSD can't, due to differences in our VFS design.
This commit adds credential information to each fuse_filehandle. During open(2), fusefs will now only reuse a file handle if it matches the exact same access mode, pid, uid, and gid of the calling process.
PR: 236844 Sponsored by: The FreeBSD Foundation
show more ...
|
#
363a7416 |
| 01-Apr-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: allow opening files O_EXEC
O_EXEC is useful for fexecve(2) and fchdir(2). Treat it as another fufh type alongside the existing RDONLY, WRONLY, and RDWR. Prior to r345742 this would've caus
fusefs: allow opening files O_EXEC
O_EXEC is useful for fexecve(2) and fchdir(2). Treat it as another fufh type alongside the existing RDONLY, WRONLY, and RDWR. Prior to r345742 this would've caused a memory and performance penalty.
PR: 236329 Sponsored by: The FreeBSD Foundation
show more ...
|
#
42d50d16 |
| 28-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: add a regression test for bug 236844
fusefs should send a FUSE_OPEN for every open(2) so the daemon can validate accesses.
PR: 236844 Sponsored by: The FreeBSD Foundation
|
#
bf4d7084 |
| 22-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: support VOP_MKNOD
PR: 236236 Sponsored by: The FreeBSD Foundation
|
#
9821f1d3 |
| 21-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: adapt the tests to the fuse => fusefs rename
Sponsored by: The FreeBSD Foundation
|