Topic domain

Filesystems

Naming, persistence, and crash-safe storage layout.

Articles
80
Clusters
8
Foundational
24
Intermediate
32
Advanced
24

Inodes, directories, and the POSIX interface.

  1. What an Inode Stores, and Why It Stores No Name
  2. Directory Entries as a Name-to-Inode Map
  3. Open File Descriptions and the Offsets They Share
  4. Rename Atomicity and the Replacement of a Directory Entry
  5. Sparse Files and the Gap Between Length and Allocation
  6. Path Resolution Component by Component
All 10 in this cluster →

Ordering guarantees and metadata updates.

  1. Write Ordering and the Crash Window Between Metadata Updates
  2. Write-Ahead Journaling and the Three-Phase Commit Record
  3. Metadata-Only Journaling and the Three ext3 Data Modes
  4. Torn Writes, Journal Checksums, and Detecting a Bad Commit
  5. Copy-on-Write and Block Shadowing Instead of a Log
  6. Path Copying in a Copy-on-Write B-Tree
All 10 in this cluster →

Append-only layout and garbage collection.

  1. The Log as the Filesystem: Segments, Sequential Writes, and the End of the Free-Space Map
  2. Inode Maps and Block Indirection: Finding Data That Never Stays in Place
  3. Checkpoint Regions and Tail Recovery in an Append-Only Log
  4. Segment Liveness Accounting: How the Cleaner Knows What Is Already Dead
  5. Choosing What to Clean: Greedy, Cost-Benefit, and Age-Ordered Segment Policies
  6. Decomposing Write Amplification in Log-Structured Filesystems
All 10 in this cluster →

Remote semantics, caching, and locking.

  1. NFS File Handles and the Server That Keeps No Open Files
  2. Retransmission and the Duplicate Request Cache
  3. Attribute Caching and Close-to-Open Consistency
  4. Unstable Writes, COMMIT, and the Verifier
  5. Byte-Range Locks and What Happens When a Client Dies
  6. Delegations, Callback Channels, and Recall
All 10 in this cluster →

FTL behavior, discard, and I/O schedulers.

  1. Erase Blocks, Pages, and the Asymmetry That Shapes Flash Storage
  2. Mapping Granularity in a Flash Translation Layer
  3. Garbage Collection and Where Write Amplification Comes From
  4. Wear Leveling and the Erase-Cycle Budget of a Flash Device
  5. Discard and TRIM: Telling the Device Which Blocks Are Free
  6. Multi-Queue Block Dispatch and Why One Lock Was Not Enough
All 10 in this cluster →

Erasure coding, replication, and placement.

  1. Failure Domains and the Arithmetic Behind Replication Factor
  2. Consistent Hashing and What Changes When a Node Joins
  3. Reed-Solomon Codes: The k-of-n Arithmetic and Its Repair Cost
  4. Quorum Intersection and Why R + W Must Exceed N
  5. Merkle Trees, Range Digests, and Finding Divergence Without Reading Everything
  6. CRUSH Placement: Deterministic Mapping Over a Weighted Hierarchy
All 10 in this cluster →

On-disk formats and kernel interfaces.

  1. The Superblock: Magic Number, Geometry, and Feature Flags
  2. Block Groups and the Cost of Metadata Locality
  3. Inode Tables and the Arithmetic of Inode Numbers
  4. Extent Trees and the Replacement of Indirect Block Maps
  5. Directory Hash Trees: Indexing Names Without Breaking Enumeration
  6. VFS Objects and the Operation Vector
All 10 in this cluster →

Checksums, scrubbing, and silent corruption.

  1. Silent Data Corruption and What Device Error Reporting Misses
  2. Checksum Strength: What CRC32C and SHA-256 Each Guarantee
  3. Checksum Placement: Block Pointers, Metadata Trees, and Payloads
  4. Read-Path Verification and What Happens When a Block Fails
  5. Checksum Granularity and the Read-Modify-Write Penalty
  6. Scrub Passes: Finding Latent Damage Before It Is Needed
All 10 in this cluster →

All Filesystems articles