LFS - Log File System
general ideas
Goal: to do operations sequentially to improve performance
-
Just write all data sequentially to new segments.
-
Never overwrite, even if that means we leave behind old copies.
-
Buffer writes until we have enough data.
write both data and inodes
- formula for calculating buffer size
overwrite
layout for LFS
mechanism for garbage collection
-
Is an inode the latest version?
Check imap to see if it is pointed to (fast).
-
Is a data block the latest version?
Scan ALL inodes to see if it is pointed to (very slow).
-
Solution: segment summary that lists inode
corresponding to each data block.