-- Leo's gemini proxy

-- Connecting to iceworks.cc:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications

Created: 2023-06-13T03:52:31-05:00

Return to the Index

This card pertains to a resource available on the internet.


BOB: Attempts to break software by re-ordering the block operations on the filesystem.

ALICE: Attempts to analyze how software treats the filesystem. Creates traces of file operations so a program can be analyzed for filesystem assumptions that may be broken.

Common Linux filesystems exhibit wildly different failure modes depending on configuration.


Assumptions

Write atomicity: An assumption that writes of a given size will be persisted in their entirety. For example, 512 byte sectors of a filesystem.

Orderred commits: An assumption that changes are made in a given order; such as a file is created, then it is written, then it is renamed, and exactly in that way.

Durability: Data we expected to have written to disk actually was.


Failures

Size atomicity: When updates are not atomic the size of a file might be updated (incorrectly) where corrupt data exists in the new space rather than data we intended to write.

Content atomicity: When part of the intended content is written and the rest is garbage. The system failed in the middle of the write.


-- Response ended

-- Page fetched on Fri Jun 7 02:26:25 2024