0001 .. SPDX-License-Identifier: GPL-2.0
0002
0003 +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
0004 | i.i_block Offset | Where It Points |
0005 +=====================+==============================================================================================================================================================================================================================+
0006 | 0 to 11 | Direct map to file blocks 0 to 11. |
0007 +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
0008 | 12 | Indirect block: (file blocks 12 to (``$block_size`` / 4) + 11, or 12 to 1035 if 4KiB blocks) |
0009 | | |
0010 | | +------------------------------+--------------------------------------------------------------------+ |
0011 | | | Indirect Block Offset | Where It Points | |
0012 | | +==============================+====================================================================+ |
0013 | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | |
0014 | | +------------------------------+--------------------------------------------------------------------+ |
0015 +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
0016 | 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) |
0017 | | |
0018 | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ |
0019 | | | Double Indirect Block Offset | Where It Points | |
0020 | | +================================+=========================================================================================================+ |
0021 | | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) indirect blocks (1024 if 4KiB blocks) | |
0022 | | | | | |
0023 | | | | +------------------------------+--------------------------------------------------------------------+ | |
0024 | | | | | Indirect Block Offset | Where It Points | | |
0025 | | | | +==============================+====================================================================+ | |
0026 | | | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | | |
0027 | | | | +------------------------------+--------------------------------------------------------------------+ | |
0028 | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ |
0029 +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
0030 | 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) |
0031 | | |
0032 | | +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ |
0033 | | | Triple Indirect Block Offset | Where It Points | |
0034 | | +================================+================================================================================================================================================+ |
0035 | | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) double indirect blocks (1024 if 4KiB blocks) | |
0036 | | | | | |
0037 | | | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ | |
0038 | | | | | Double Indirect Block Offset | Where It Points | | |
0039 | | | | +================================+=========================================================================================================+ | |
0040 | | | | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) indirect blocks (1024 if 4KiB blocks) | | |
0041 | | | | | | | | |
0042 | | | | | | +------------------------------+--------------------------------------------------------------------+ | | |
0043 | | | | | | | Indirect Block Offset | Where It Points | | | |
0044 | | | | | | +==============================+====================================================================+ | | |
0045 | | | | | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | | | |
0046 | | | | | | +------------------------------+--------------------------------------------------------------------+ | | |
0047 | | | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ | |
0048 | | +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ |
0049 +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+