780 B
Refactor the virtio block device’s I/O handling to eliminate generic type parameters from file engine structures, replacing them with the concrete PendingRequest
type. Update the AsyncFileEngine
and FileEngine
implementations to directly handle PendingRequest
in all operations, ensuring error types like RequestError
propagate this request context. Rename UserDataError
/UserDataOk
to RequestError
/RequestOk
and adjust their internals to store PendingRequest
instead of a generic user_data
. Simplify imports (e.g., consolidate io_uring
imports) and modify test code to initialize PendingRequest
properly with default values where needed. Maintain all existing async/sync I/O functionality, including dirty memory tracking and request completion logic.