Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,17 @@
- READDIR and READDIRPLUS answer ENOMEM when the reply can't hold the reply header plus the
requested size. The check left out the header, so a writer short by up to 16 bytes started the
listing and failed partway.
- A `UringFuseServing` worker that fails while the connection is up ends the connection through
its fusectl `abort` file. Its queues had no entries left, so requests from those CPUs waited
forever, and so did requests it had taken but not answered. Now they fail, the other workers
stop, and `FuseServing::wait()` returns.
- A `UringFuseServing` worker whose request handler panics ends the connection the same way and
waits for the kernel to give its ring entries back before the panic goes on. Before, unwinding
freed entries the kernel could still copy a request into.
- A `UringFuseServing` worker that stops frees its ring entries only after the kernel has given
them all back, and leaks them if that takes more than a second. A worker that stopped on an
error while the connection was up freed entries the kernel could still copy requests into. A
signal that interrupts the worker's `io_uring_enter()` calls no longer stops it.
- [278](https://github.com/cloud-hypervisor/fuse-backend-rs/pull/278): Treat `EOPNOTSUPP`/`ENOTSUP` and `ENOSYS` from `getxattr` as "not opaque"
in `Layer::is_opaque()`, so `OverlayFs::import()` no longer aborts when a layer's
backing filesystem has no xattr support at all (tmpfs answers `EOPNOTSUPP` to
Expand Down
Loading
Loading