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