Logo of The Linux Kernel

The Linux Kernel

next-20250703

Quick search

Contents

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
  • Subsystems
    • Core subsystems
    • Human interfaces
    • Networking interfaces
    • Storage interfaces
      • Filesystems in the Linux kernel
      • Block
      • CD-ROM
      • SCSI Subsystem
      • TCM Virtual Device
      • NVMe Subsystem
    • Other subsystems
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations

This Page

  • Show Source

ext4 Data Structures and Algorithms¶

  • 1. About this Book
    • 1.1. License
    • 1.2. Terminology
    • 1.3. Other References
  • 2. High Level Design
    • 2.1. Blocks
    • 2.2. Block Groups
    • 2.3. Special inodes
    • 2.4. Block and Inode Allocation Policy
    • 2.5. Checksums
    • 2.6. Bigalloc
    • 2.7. Inline Data
    • 2.8. Large Extended Attribute Values
    • 2.9. Verity files
    • 2.10. Atomic Block Writes
  • 3. Global Structures
    • 3.1. Super Block
    • 3.2. Block Group Descriptors
    • 3.3. Block and inode Bitmaps
    • 3.4. Inode Table
    • 3.5. Multiple Mount Protection
    • 3.6. Journal (jbd2)
    • 3.7. Orphan file
  • 4. Dynamic Structures
    • 4.1. Index Nodes
    • 4.2. The Contents of inode.i_block
    • 4.3. Directory Entries
    • 4.4. Extended Attributes
©The kernel development community. | Powered by Sphinx 7.4.7 & Alabaster 0.7.16 | Page source