mirror of
https://github.com/versity/scoutfs.git
synced 2026-07-29 03:23:13 +00:00
979a36e175fffb5060803d196e51c686e077a071
Add the block allocator. Logically we use a buddy allocator that's built from bitmaps for allocators of each order up to the largest allocator that fits in the device. This ends up using two bits per block. On disk we log modified regions of these bitmaps in chunks in blocks in a preallocated ring. We carefully coordinate logging the chunks and the ring size so that we can always write to the tail of the ring. There's one allocator and it's only read on mount today. We'll eventually have multiple of these allocators covering the device and nodes will coordinate exclusive access to them. Signed-off-by: Zach Brown <zab@versity.com>
Description
No description provided
6.9 MiB
Languages
C
86.4%
Shell
9.9%
Roff
2.5%
TeX
0.8%
Makefile
0.4%