1.. SPDX-License-Identifier: GPL-2.0 2 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) | 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+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 50