Blogs ›

Understanding MinIO Erasure Coding: Erasure Sets, Quorums, Degraded States, and Recovery at Scale

January 22, 2026
storage, MinIO, erasure-coding, distributed-systems

This post explains how MinIO implements erasure coding (EC) in practice—covering erasure sets, shard layout, read/write quorums, disk-full behavior, degraded operation, recovery (rebalance + heal), and how MinIO can safely scan very large object namespaces without collapsing under load.

Summarized by ChatGPT from the Q/As in ChatGPT.

...

A memo for Linux I/O and Filesystem

November 27, 2025
DBMS

A memo for Linux I/O and Filesystem, collected from AI chat threads

This memo is an extended memo for this post, consolidates knowledge about:

  • VFS & Filesystem Delegation
  • File descriptors & open file table
  • stdio / unbuffered / direct I/O
  • Page Cache, Writeback
  • fsync vs fdatasync (accurate across ext4, XFS, Btrfs, ZFS)
  • open flags
  • Pipes, dup2
  • fork, clone, exec
  • splice / zero-copy design

Designed as a reference entry for systems and storage engine development.

...

Rust type categories

December 17, 2024
rust

Notes for the rust type categories

For rust fundamental types, the serde crate serializer and deserializer provide a reasonable type categories for grouping the complex types when serializing or deserializing a type.

...

Reference in Rust vs. C++

March 20, 2024
rust

Notes for the reference in rust

Switching to Rust from C++ would encounter this question: does the reference sematics in rust is same as the C++?, Let’s describe it with an example.

...