Writing Linux Filesystem for Fun
In May 2018 I gave a talk for the C/C++ Dublin meetup at the MongoDB office — starting from the historical background of Unix filesystems and finishing with a working implementation of a simple filesystem on Linux.
Honestly, the slide deck covers it better than this post ever will. Page through it below; if you want the full picture with commentary, the recording is there too — fair warning on the accent.
Dummy FS motivation
Filesystems were the part of the OS I always felt I was missing. After moving to a storage team I decided it was time to fix that. I wrote a minimal filesystem called dummyFS — trivial by design — and focused on the structures, the disk layout, and how Linux’s VFS layer talks to the implementation underneath.
Slides
Recording
If the slides left gaps, the full talk is on YouTube — same content with live explanation (and my best attempt at English, which the audience was kind enough to tolerate).
Source for dummyFS is on GitHub.
Futher live of dummy filesystem
I plan to release a few more releases of dummyFS, to go through more advanced topics from FS area:
- Provide real FS algorithms for managing block allocation, bitmaps and extensions
- Implement virtual memory capabilities
- Change FSlayout from an update in place to copy on write.