1 .. SPDX-License-Identifier: GPL-2.0
3 +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4 | i.i\_block Offset | Where It Points |
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) |
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) |
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) | |
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) |
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) | |
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) | | |
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 +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+