Merge tag 'efi-efivars-removal-for-v5.20' of git://git.kernel.org/pub/scm/linux/kerne...
[linux-2.6-block.git] / Documentation / filesystems / ext4 / blockmap.rst
CommitLineData
b4becd48
DW
1.. SPDX-License-Identifier: GPL-2.0
2
3+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
3103084a 4| i.i_block Offset | Where It Points |
b4becd48
DW
5+=====================+==============================================================================================================================================================================================================================+
6| 0 to 11 | Direct map to file blocks 0 to 11. |
7+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
8| 12 | Indirect block: (file blocks 12 to (``$block_size`` / 4) + 11, or 12 to 1035 if 4KiB blocks) |
9| | |
10| | +------------------------------+--------------------------------------------------------------------+ |
11| | | Indirect Block Offset | Where It Points | |
12| | +==============================+====================================================================+ |
13| | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | |
14| | +------------------------------+--------------------------------------------------------------------+ |
15+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
16| 13 | Double-indirect block: (file blocks ``$block_size``/4 + 12 to (``$block_size`` / 4) ^ 2 + (``$block_size`` / 4) + 11, or 1036 to 1049611 if 4KiB blocks) |
17| | |
18| | +--------------------------------+---------------------------------------------------------------------------------------------------------+ |
19| | | Double Indirect Block Offset | Where It Points | |
20| | +================================+=========================================================================================================+ |
21| | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) indirect blocks (1024 if 4KiB blocks) | |
22| | | | | |
23| | | | +------------------------------+--------------------------------------------------------------------+ | |
24| | | | | Indirect Block Offset | Where It Points | | |
25| | | | +==============================+====================================================================+ | |
26| | | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | | |
27| | | | +------------------------------+--------------------------------------------------------------------+ | |
28| | +--------------------------------+---------------------------------------------------------------------------------------------------------+ |
29+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
30| 14 | Triple-indirect block: (file blocks (``$block_size`` / 4) ^ 2 + (``$block_size`` / 4) + 12 to (``$block_size`` / 4) ^ 3 + (``$block_size`` / 4) ^ 2 + (``$block_size`` / 4) + 12, or 1049612 to 1074791436 if 4KiB blocks) |
31| | |
32| | +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ |
33| | | Triple Indirect Block Offset | Where It Points | |
34| | +================================+================================================================================================================================================+ |
35| | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) double indirect blocks (1024 if 4KiB blocks) | |
36| | | | | |
37| | | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ | |
38| | | | | Double Indirect Block Offset | Where It Points | | |
39| | | | +================================+=========================================================================================================+ | |
40| | | | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) indirect blocks (1024 if 4KiB blocks) | | |
41| | | | | | | | |
42| | | | | | +------------------------------+--------------------------------------------------------------------+ | | |
43| | | | | | | Indirect Block Offset | Where It Points | | | |
44| | | | | | +==============================+====================================================================+ | | |
45| | | | | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | | | |
46| | | | | | +------------------------------+--------------------------------------------------------------------+ | | |
47| | | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ | |
48| | +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ |
49+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+