Skip to main content

Crate vfsi_uring

Crate vfsi_uring 

Source
Expand description

Linux io_uring execution of independent descriptor reads, writes and fsyncs.

connect returns a client implementing vfsi_core::Vfsi and vfsi_core::VfsiExt. The local backend retains namespace resolution, descriptor ownership, bounded directory paging and ordered dependent I/O. Open/close, path writes, append, overlapping writes, and namespace operations use ordinary syscalls. This is synchronous batching, not an async runtime, direct I/O or zero-copy API. Completion order never changes result order. Opt-in cache-read and syscall-write paths avoid ring overhead for warm buffered I/O. Their counters are separate from actual SQEs and CQEs. Owned read cohorts fitting the configured byte window use their final result allocations directly. Borrowed destinations and larger cohorts retain bounded scratch storage; neither path is kernel zero-copy.

Ring setup failures (including sandbox/seccomp restrictions) are returned; there is no silent fallback to a different backend.

Structs§

Options
Bounds both in-flight SQEs and the reusable owned scratch arena. No SQPOLL thread is started. A large operation is split into bounded contiguous chunks.
Stats
Cumulative execution counters; a snapshot may span an ongoing operation.
Telemetry

Functions§

connect
Construct a VFSI client rooted at an existing directory. Configure vfsi_core::api::ResourceLimits on the returned client to change application allocation/traversal budgets.
connect_with_telemetry
Like connect, retaining low-cost counters for actual submissions, completions, waves, ring entries, arena growths and peak scratch bytes. Ring counters do not include syscalls. Opt-in cache probes and descriptor syscall requests have separate counters; namespace/dependency fallbacks remain excluded.