The Linux Kernel
5.10.234
  • The Linux kernel user’s and administrator’s guide
  • Kernel Build System
  • The Linux kernel firmware guide
  • Open Firmware and Device Tree
  • The Linux kernel user-space API guide
  • Working with the kernel development community
  • Development tools for the kernel
  • How to write kernel documentation
  • Kernel Hacking Guides
  • Linux Tracing Technologies
  • Kernel Maintainer Handbook
  • fault-injection
  • Kernel Livepatching
  • The Linux driver implementer’s API guide
  • Core API Documentation
  • locking
  • Accounting
  • Block
  • cdrom
  • Linux CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
  • Integrated Drive Electronics (IDE)
  • Frame Buffer
  • fpga
  • Human Interface Devices (HID)
  • I2C/SMBus Subsystem
  • Industrial I/O
  • ISDN
  • InfiniBand
  • LEDs
  • NetLabel
  • Linux Networking Documentation
  • pcmcia
  • Power Management
  • TCM Virtual Device
  • timers
  • Serial Peripheral Interface (SPI)
  • 1-Wire Subsystem
  • Linux Watchdog Support
  • Linux Virtualization Support
  • The Linux Input Documentation
  • Linux Hardware Monitoring
  • Linux GPU Driver Developer’s Guide
  • Security Documentation
  • Linux Sound Subsystem Documentation
  • Linux Kernel Crypto API
  • Filesystems in the Linux kernel
  • Linux Memory Management Documentation
  • BPF Documentation
  • USB support
  • Linux PCI Bus Subsystem
  • Linux SCSI Subsystem
  • Assorted Miscellaneous Devices Documentation
  • Linux Scheduler
  • MHI
  • Assembler Annotations
  • ARM Architecture
  • ARM64 Architecture
  • IA-64 Architecture
  • m68k Architecture
  • MIPS-specific Documentation
  • Linux on the Nios II architecture
  • OpenRISC Architecture
  • PA-RISC Architecture
  • powerpc
  • RISC-V architecture
  • s390 Architecture
  • SuperH Interfaces Guide
  • Sparc Architecture
  • x86-specific Documentation
  • Xtensa Architecture
  • ext4 Data Structures and Algorithms
    • 1. About this Book
    • 2. High Level Design
    • 3. Global Structures
    • 4. Dynamic Structures
  • Unsorted Documentation
  • Atomic Types
  • Atomic bitops
  • Memory Barriers
  • General notification mechanism
  • Translations
The Linux Kernel
  • »
  • ext4 Data Structures and Algorithms
  • View page 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. Layout
    • 2.3. Flexible Block Groups
    • 2.4. Meta Block Groups
    • 2.5. Lazy Block Group Initialization
    • 2.6. Special inodes
    • 2.7. Block and Inode Allocation Policy
    • 2.8. Checksums
    • 2.9. Bigalloc
    • 2.10. Inline Data
      • 2.10.1. Inline Directories
    • 2.11. Large Extended Attribute Values
    • 2.12. Verity files
  • 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.6.1. Layout
      • 3.6.2. External Journal
      • 3.6.3. Block Header
      • 3.6.4. Super Block
      • 3.6.5. Descriptor Block
      • 3.6.6. Data Block
      • 3.6.7. Revocation Block
      • 3.6.8. Commit Block
      • 3.6.9. Fast commits
  • 4. Dynamic Structures
    • 4.1. Index Nodes
      • 4.1.1. Inode Size
      • 4.1.2. Finding an Inode
      • 4.1.3. Inode Timestamps
    • 4.2. The Contents of inode.i_block
      • 4.2.1. Symbolic Links
      • 4.2.2. Direct/Indirect Block Addressing
      • 4.2.3. Extent Tree
      • 4.2.4. Inline Data
    • 4.3. Directory Entries
      • 4.3.1. Linear (Classic) Directories
      • 4.3.2. Hash Tree Directories
    • 4.4. Extended Attributes
      • 4.4.1. Attribute Name Indices
      • 4.4.2. POSIX ACLs
Next Previous

© Copyright The kernel development community.

Built with Sphinx using a theme provided by Read the Docs.