Please enable JavaScript.
Coggle requires JavaScript to display documents.
rublk-qcow2 - Coggle Diagram
rublk-qcow2
requirement
support RW
follow ublk-qcow2's design
built on async/await
future
compression
snapshot
use case
competitor of rsd/qsd
try to make a libqcow2
reuse for other projects
decouple with actual low level IO
moving logic out of libqcow2
design
LRU list
L2 cache
reference block cache
binary data serialize & deserialize
libqcow2 library
requirement
in-ram meta
header
l1
l2
slice
compression
reference table
rb
slice
snapshot
not bound with actual IO
let user cover lock
exception
it is abstractly correct to add internal lock
from rsd to libqcow2
trait Table
remove async
pass table buffer in
vec![u8]
table size is aligned with dio block size
init from buffer directly
kill set_offset()
pass buffer & offset in
others
IoBuffer
borrows it from rsd
improve UblkError