An Introduction to Linux’s EXT4 Filesystem


In previous articles about Linux filesystems, I wrote an introduction to Linux filesystems and about some higher-level concepts such as everything is a file. I want to go into more detail about the specifics of the EXT filesystems, but first, let’s answer the question, “What is a filesystem?” A filesystem is all of the following:

  1. Data storage: The primary function of any filesystem is to be a structured place to store and retrieve data.
  2. Namespace: A naming and organizational methodology that provides rules for naming and structuring data.
  3. Security model: A scheme for defining access rights.
  4. API: System function calls to manipulate filesystem objects like directories and files.
  5. Implementation: The software to implement the above.