Commit Graph

256 Commits

Author SHA1 Message Date
Christopher Haster
106b06a457 Added better handling for metadata pairs
The core algorithim that backs this filesystem's goal of fault
tolerance is the alternating of "metadata pairs". Backed by a
simple core function for reading and writing, makes heavy use
of c99 designated initializers for passing info about multiple
chunks in an erase block.
2017-03-19 22:25:36 -05:00
Christopher Haster
1d36fc606a Added initial superblock definition
Really started working out how the internal structure of the driver
will be organized. There are a few hazy lines between the intended
data structures with the goal of code reuse, so the function boundaries
may end up a bit weird.
2017-03-19 22:25:33 -05:00
Christopher Haster
c28a280c8d Adopted ctz skip-list structure earlier than expected
The primary data structure backing the little fs was planned
to be a little ctz based skip-list for O(logn) lookup and
O(1) append.

Was initially planning to start with a simple linked list of
index blocks, but was having trouble implementing the free-list
on top of the structure. Went ahead and adopted the skip-list
structure since it may have actually been easier.
2017-02-26 21:00:39 -06:00
Christopher Haster
160299d35c Initial commit of progress, minimal formatting niave free list 2017-02-26 18:05:27 -06:00
Christopher Haster
02156cb47d Initial commit of block device interface and emulated block device 2017-02-25 14:31:14 -06:00
Christopher Haster
b113bba3ae Created little config parser
An odd start, but a start nonetheless
2017-02-20 17:47:24 -06:00