Episode

644: The People's Filesystem

Podcast
LINUX Unplugged
Published
Dec 8, 2025
Duration seconds
5063
Processing state
processed
Canonical source
https://linuxunplugged.com/644
Audio
https://rss.art19.com/episodes/2417a8be-3555-4815-90e5-bc664fed77a2.mp3?rss_browser=BAhJIgljdXJsBjoGRVQ%3D--435795d5c850773aaa4739d968bd77a1dfd6f301
JSON
/v1/public/podcasts/linux-unplugged/episodes/644-the-people-s-filesystem
Markdown
/podcast/linux-unplugged/644-the-people-s-filesystem.md

Actions

  • POST https://stenobird.com/v1/public/podcasts/linux-unplugged/episodes/644-the-people-s-filesystem/transcription-requests
    Idempotently request low-priority transcript generation for this episode.
  • GET https://stenobird.com/podcast/linux-unplugged/644-the-people-s-filesystem.md
    Read the agent-friendly Markdown representation of this episode resource.

Summary

Kent Overstreet discusses the massive technical evolution of bcachefs, including its recent 1.33.0 release and the strategic move toward Rust. The conversation explores the challenges of filesystem development, from managing 'go to' statements to the implications of being outside the Linux kernel.

Topics

  • bcachefs
  • Linux Kernel
  • Rust Programming
  • Filesystem Development
  • Open Source
  • Data Integrity
  • NixOS
  • B-tree

Highlights

  • Main idea: The bcachefs 1.33.0 release introduces the reconcile feature, the most significant change in two years
  • Technical shift: Kent is actively refactoring the codebase to eliminate 'go to' statements, making the C code more compatible with a future Rust translation
  • Failure mode: Using bcachefs in single-device mode on unreliable hardware can lead to mount failures and data accessibility issues
  • Practical takeaway: The transition to Rust is not a full rewrite but a structural translation of large swaths of the existing codebase
  • Development insight: Managing complex B-tree locks and state verification is a primary challenge in maintaining filesystem integrity

Chapters

  1. 7:25 bcachefs 1.33.0 and the Reconcile Feature: An overview of the latest release and the significance of the new reconcile system for the filesystem.
  2. 13:45 The DKMS Transition: Kent discusses the unexpected smoothness of the DKMS transition and the fears surrounding it.
  3. 20:00 Handling Hardware Failures: The risks of using bcachefs on degraded hardware and the impact of buggy upstream packages on user experience.
  4. 26:35 Enterprise vs. Single-Device Mode: A discussion on how hardware reliability and replication affect filesystem stability in different deployment scenarios.
  5. 39:20 Refactoring for Rust: The technical process of reducing 'go to' statements to prepare the codebase for a potential Rust implementation.
  6. 51:30 The Complexity of Extents and Snapshots: Deep dive into the long-standing difficulty of combining extents and snapshots in block-based data structures.
  7. 1:17:15 Software Picks and Tools: A look at useful utilities like LubeLogger for vehicle maintenance and other community favorites.