STO-220 · Storage & Filesystems · Expert

Writing a Filesystem from Scratch — full syllabus

Implement a small but real filesystem, which is the fastest way to genuinely understand the VFS.

Duration4 full days in person · 8 half-days online
Cohortmax 14 in person · 20 online
Pricefrom SAR 13,500 in person · local pricing per city
Delivery35% principles · 20% guided investigation · 45% engineering studio

Who this course is for

Experienced kernel engineers who want the fastest route to real VFS fluency: implement a small but genuine filesystem and let the kernel's own test suites tell you what you got wrong.

Prerequisites

Course outline

Day 1 — The on-disk format and getting mounted

  • Designing a minimal format: superblock, inode table, block allocation map
  • Writing the mkfs tool in userspace
  • Module skeleton: register_filesystem, ->mount, fill_super, kill_sb
  • Reading on-disk structures safely: buffer heads vs bio
  • Milestone: mount and unmount cleanly

Day 2 — Inodes, dentries and directories

  • Implementing ->lookup and the dentry interface
  • Directory format and ->iterate_shared (readdir)
  • ->create, ->mkdir, ->link/->unlink and updating the parent
  • iget and the inode cache; when inodes get written back
  • Milestone: ls, stat, mkdir and rm all work

Day 3 — The data path

  • address_space_operations: read_folio, write_begin/write_end
  • Block allocation on write and the allocation bitmap
  • Integrating with the page cache instead of fighting it
  • ->fsync and what durability you actually guarantee
  • Symlinks and the remaining inode operations as time allows

Day 4 — Testing like a filesystem developer

  • fsx: randomised operation fuzzing and interpreting failures
  • Running generic xfstests against your filesystem
  • Fault injection: failing block devices and allocation failures
  • Locking review under parallel load; lockdep findings
  • Code review clinic: defending your design under upstream-style critique

Hands-on labs

  1. Lab: write mkfs for your format and mount the resulting image read-only in QEMU
  2. Lab: implement ->lookup and ->iterate_shared until find and ls behave correctly
  3. Lab: implement the write path with block allocation and prove data survives umount/remount
  4. Lab: run fsx and a subset of xfstests generic cases; triage and fix the first three failures
  5. Lab: inject block-device failures mid-write and make your ->fsync semantics honest under error

Capstone project

The filesystem itself is the capstone: by day 4 you demonstrate it mounting, surviving a parallel fsx run and passing a defined subset of xfstests generic cases, then present the evidence — test logs, a fault-injection transcript, a lockdep-clean parallel workload, and a short design note stating precisely which durability guarantees your format does and does not make.

What you leave with

Upcoming dates

DatesWhereSeatsEarly birdRegular
1 Nov – 4 Nov 20264 full days RiyadhIn person · KAFD Conference Centre 10 of 14 —SAR 13,500
8 Nov – 11 Nov 20264 full days Kuwait CityIn person · Al Hamra Tower 5 of 14 KWD 1,010until 9 OctKWD 1,120
8 Nov – 11 Nov 20264 full days MuscatIn person · Knowledge Oasis Muscat 10 of 14 OMR 1,250until 9 OctOMR 1,390
15 Nov – 24 Nov 20268 half-days Gulf bandLive online · 09:00–13:00 GMT+3 4 of 20 US$2,340until 16 OctUS$2,600
16 Nov – 19 Nov 20264 full days OttawaIn person · Kanata North Tech Park 5 of 14 CAD 4,410until 17 OctCAD 4,900
23 Nov – 26 Nov 20264 full days TorontoIn person · MaRS Discovery District 10 of 14 CAD 4,410until 24 OctCAD 4,900
23 Nov – 26 Nov 20264 full days LondonIn person · Shoreditch Works 5 of 14 GBP 2,530until 24 OctGBP 2,810
23 Nov – 2 Dec 20268 half-days Europe bandLive online · 09:00–13:00 CET 9 of 20 US$2,340until 24 OctUS$2,600
23 Nov – 2 Dec 20268 half-days Americas bandLive online · 13:00–17:00 ET 14 of 20 US$2,340until 24 OctUS$2,600
30 Nov – 3 Dec 20264 full days BerlinIn person · Factory Görlitzer Park 10 of 14 EUR 2,980until 31 OctEUR 3,310

Book a seat, or bring this course to your team

Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.

Course page & booking

Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.