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