bitmaps.rst 1.1 KB

12345678910111213141516171819202122232425262728
  1. .. SPDX-License-Identifier: GPL-2.0
  2. Block and inode Bitmaps
  3. -----------------------
  4. The data block bitmap tracks the usage of data blocks within the block
  5. group.
  6. The inode bitmap records which entries in the inode table are in use.
  7. As with most bitmaps, one bit represents the usage status of one data
  8. block or inode table entry. This implies a block group size of 8 \*
  9. number\_of\_bytes\_in\_a\_logical\_block.
  10. NOTE: If ``BLOCK_UNINIT`` is set for a given block group, various parts
  11. of the kernel and e2fsprogs code pretends that the block bitmap contains
  12. zeros (i.e. all blocks in the group are free). However, it is not
  13. necessarily the case that no blocks are in use -- if ``meta_bg`` is set,
  14. the bitmaps and group descriptor live inside the group. Unfortunately,
  15. ext2fs\_test\_block\_bitmap2() will return '0' for those locations,
  16. which produces confusing debugfs output.
  17. Inode Table
  18. -----------
  19. Inode tables are statically allocated at mkfs time. Each block group
  20. descriptor points to the start of the table, and the superblock records
  21. the number of inodes per group. See the section on inodes for more
  22. information.