The Free Blocks List
- The free blocks list contains indexes of disk blocks that were once
allocated and then freed.
- No need to hold all free blocks, since we have the number of the highest
allocated block in the super-block.
- Each entry is 4 bytes long, and thus we have 1024/4 (256) entries for
free blocks.
- When allocating a data block, we first scan the free list. Only if it
is empty, we allocate the next highest non-allocated block.
- If we free 257 blocks without allocating any.... BOOM!
Originally written by
guy keren