1.. SPDX-License-Identifier: GPL-2.0 2 3High Level Design 4================= 5 6An ext4 file system is split into a series of block groups. To reduce 7performance difficulties due to fragmentation, the block allocator tries 8very hard to keep each file's blocks within the same group, thereby 9reducing seek times. The size of a block group is specified in 10``sb.s_blocks_per_group`` blocks, though it can also calculated as 8 * 11``block_size_in_bytes``. With the default block size of 4KiB, each group 12will contain 32,768 blocks, for a length of 128MiB. The number of block 13groups is the size of the device divided by the size of a block group. 14 15All fields in ext4 are written to disk in little-endian order. HOWEVER, 16all fields in jbd2 (the journal) are written to disk in big-endian 17order. 18 19.. toctree:: 20 21 blocks 22 blockgroup 23 special_inodes 24 allocators 25 checksums 26 bigalloc 27 inlinedata 28 eainode 29 verity 30 atomic_writes 31