Back to home page

OSCL-LXR

 
 

    


0001 .. SPDX-License-Identifier: GPL-2.0
0002 
0003 High Level Design
0004 =================
0005 
0006 An ext4 file system is split into a series of block groups. To reduce
0007 performance difficulties due to fragmentation, the block allocator tries
0008 very hard to keep each file's blocks within the same group, thereby
0009 reducing seek times. The size of a block group is specified in
0010 ``sb.s_blocks_per_group`` blocks, though it can also calculated as 8 *
0011 ``block_size_in_bytes``. With the default block size of 4KiB, each group
0012 will contain 32,768 blocks, for a length of 128MiB. The number of block
0013 groups is the size of the device divided by the size of a block group.
0014 
0015 All fields in ext4 are written to disk in little-endian order. HOWEVER,
0016 all fields in jbd2 (the journal) are written to disk in big-endian
0017 order.
0018 
0019 .. include:: blocks.rst
0020 .. include:: blockgroup.rst
0021 .. include:: special_inodes.rst
0022 .. include:: allocators.rst
0023 .. include:: checksums.rst
0024 .. include:: bigalloc.rst
0025 .. include:: inlinedata.rst
0026 .. include:: eainode.rst
0027 .. include:: verity.rst