Added the buffer cache over the filesystem. See the TODO comments for stuff left to do.
Updated inode.c to use the buffer cache. Updated Make.vars to not use the vm. Updated init.c to initialize the buffer cache list. Updated timer.c to periodically update the buffer cache list. (This leads to a kernel panic for some reason.
Prevent kernel panic from trying to access buffer cache before its initialization
Remove segfault in inode.c
Initialize buffer cache before filesystem
Forgot to allocate c. Also was accidentally freeing cache blocks
And also in cache_write
Whoops accidentally pushed debugging code
Don't free cache blocks
Also free the block
Was never pushing the block to the cache list and also was evicting incorrectly
Set dirty flag to false when it's written back
Remove evicted cache block
Move the check block in cache to the .c file
list_begin not list_head
add some checks in inode.c and now the tests pass again