Please enable JavaScript.
Coggle requires JavaScript to display documents.
ubdsrv: cluster allocator - Coggle Diagram
ubdsrv: cluster allocator
requirements
allocate one cluster for user
called from io context
design
problems
refcnt blk is full
allocate two clusters
one is for new refcnt blk
another is for data
mapping between cqe and refcnt block io
other io contexts waiting for this refcnt blk cache
refcnt blk cache free
need to flush dirty entries to disk first
after flushing is done, the refcnt blk cache needs to be freed
dirty dependency
refcnt table may has dirty data with this cache
qcow2 header needs to be flushed because of the dirty refcnt table
this flush shouldn't be delayed
run out of cache
how to track dirty entries?