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

↓ download PDF

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.