blockmap.rst 11 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. .. SPDX-License-Identifier: GPL-2.0
  2. +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  3. | i.i_block Offset | Where It Points |
  4. +=====================+==============================================================================================================================================================================================================================+
  5. | 0 to 11 | Direct map to file blocks 0 to 11. |
  6. +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  7. | 12 | Indirect block: (file blocks 12 to (``$block_size`` / 4) + 11, or 12 to 1035 if 4KiB blocks) |
  8. | | |
  9. | | +------------------------------+--------------------------------------------------------------------+ |
  10. | | | Indirect Block Offset | Where It Points | |
  11. | | +==============================+====================================================================+ |
  12. | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | |
  13. | | +------------------------------+--------------------------------------------------------------------+ |
  14. +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  15. | 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) |
  16. | | |
  17. | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ |
  18. | | | Double Indirect Block Offset | Where It Points | |
  19. | | +================================+=========================================================================================================+ |
  20. | | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) indirect blocks (1024 if 4KiB blocks) | |
  21. | | | | | |
  22. | | | | +------------------------------+--------------------------------------------------------------------+ | |
  23. | | | | | Indirect Block Offset | Where It Points | | |
  24. | | | | +==============================+====================================================================+ | |
  25. | | | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | | |
  26. | | | | +------------------------------+--------------------------------------------------------------------+ | |
  27. | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ |
  28. +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  29. | 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) |
  30. | | |
  31. | | +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ |
  32. | | | Triple Indirect Block Offset | Where It Points | |
  33. | | +================================+================================================================================================================================================+ |
  34. | | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) double indirect blocks (1024 if 4KiB blocks) | |
  35. | | | | | |
  36. | | | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ | |
  37. | | | | | Double Indirect Block Offset | Where It Points | | |
  38. | | | | +================================+=========================================================================================================+ | |
  39. | | | | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) indirect blocks (1024 if 4KiB blocks) | | |
  40. | | | | | | | | |
  41. | | | | | | +------------------------------+--------------------------------------------------------------------+ | | |
  42. | | | | | | | Indirect Block Offset | Where It Points | | | |
  43. | | | | | | +==============================+====================================================================+ | | |
  44. | | | | | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | | | |
  45. | | | | | | +------------------------------+--------------------------------------------------------------------+ | | |
  46. | | | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ | |
  47. | | +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ |
  48. +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+