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