Initial outlines.
diff --git a/bcache-doc.tex b/bcache-doc.tex new file mode 100644 index 0000000..0f7ba99 --- /dev/null +++ b/bcache-doc.tex
@@ -0,0 +1,92 @@ + + + +What is bcache + +Bcache history +- Kent overstreet +- merge in 3.10 +- part of contributors +- enterprise stabled since 5.3 + +How to install bcache + +How to use bcache + +Config and manage bcache via sysfs + +Bcache concepts +- Cache device and (cached) backing device +- Closure +- Bucket +- bkey +- Btree and bset +- journal +- generation +- garbage collection +- fifo +- Cache modes +- Flash only volume + +Device registration and unregistartion + +Cache attache and detach + +Bcache initialization and shutdown + +Read request handling +- Without cache device +- With cache device + - Write-back mode + - Write-through mode + - Write-around and read-around mode +Write request handling +- Write-back mode +- Write-through mode +- Write-around mode + +Journaling +- journaling and journal flush +- journal reclaim +- journal replay +- journal space reservation + +Btree, bset and bkey +- Btree allocation + from memory and from ssd + btree canibalize +- in-memory btree node cache shrink +- bkey search, insert, delete +- extent management +- check key? + +Garbage collection, +- garbage collection +- moving gc +- replacement policies +- proactive gc + +Hot plug and I/O error handling + +Zoned devices +- As backing device +- As cache device + + + +FIFO and merge sort + +Tracing + +Bcache internal debugging + +States and statistics + +All the lockes used in bcache code + + + + + + +