LFS - Log File System

less than 1 minute read

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

write

  • formula for calculating buffer size

buffer

overwrite

overwrite

layout for LFS

layout

mechanism for garbage collection

  1. Is an inode the latest version?

    Check imap to see if it is pointed to (fast).

  2. Is a data block the latest version?

    Scan ALL inodes to see if it is pointed to (very slow).

  3. Solution: segment summary that lists inode

    corresponding to each data block.