Internals of the ext2 Filesystem

Length: 60 minutes


ext2fs is the most popular disk filesystem type for Linux systems. I show the general organization of the kernel filesystem code, walk through the details of the mount operation, and discuss the layout of the inodes and the filesystem itself.

The talk explores the internal operations of such fundamental commands as mount, lseek, open, link, unlink, rename, and chown, and explores what fsck is really doing.

Complete Slides

  1. Internals of ext2fs
  2. Disclaimer
  3. What's ext2fs?
  4. What's a Filesystem?
  5. Where's the Code
  6. Overview of Unix Filesystem Structure
  7. Overview of Unix Filesystem Structure
  8. Superblocks
  9. Superblocks
  10. Virtual File Systems
  11. Virtual File Systems
  12. Virtual File Systems
  13. Superblocks
  14. Superblocks
  15. ext2fs Superblock
  16. ext2fs Superblock
  17. ext2fs Superblock
  18. Inodes
  19. Directories
  20. Directories
  21. Directories
  22. Directories
  23. Link Count
  24. Inodes
  25. Inodes
  26. Inodes
  27. Data Blocks
  28. Data Blocks
  29. Summary
  30. Thank You!

tgz file of the entire talk

Related Talks

The following year, I gave a followup talk about the Unix process structure. I later revised the talk to include more detailed Perl examples. The original talk about processes and the revised version with examples are both available.

In 2007, I was going to give a revised version of this talk, but I ended up revising it into an entirely new talk. The new talk is called What's a File? and spends less time grovelling over kernel source code and more time talking about what is really going on. I learned a few things about writing talks in the six intervening years!

Return to: Universe of Discourse main page | Perl Paraphernalia | Other Classes and Talks