Please enable JavaScript.
Coggle requires JavaScript to display documents.
ublk: io handling vs. fused command - Coggle Diagram
ublk: io handling vs. fused command
facts
fused command is only allowed when this req is in-flight
request can't be completed when there is any fused command not completed
related with error handling?
what if ubq_daemon is dying during handling fused commands?
fused command should be completed always
interaction with GET_DATA
ideas
reference count
stored in ublk_io
recovery code may reset it
req handling
two paths
ublk server gets req and handles it
ublk server handles it successfully
ublk server panics or hang
ublk server becomes dying
either before notifying server or during
ublk fused command could come in both two paths
adding buffer into fixed buffer?
suggested by Pavel
complexicity
change in fast path
io_mapped_ubuf
drawbacks
no offset
required by immutable bvec
import code can't be reused
multipage bvec
goodness
unifying completion code
?
tests
pass builtin generic tests
Pavel's idea
add two OPs
one is for provide buffer
register the buffer to ctx
how to reserve slots for this use case
another is for returning buffer
return back the buffer after we are done
how normal OP uses this buffer?
pass buffer index