ext2 Organization
Each ext2 filesystem contains a superblock. The superblock contains general information about the filesystem, including its block size, the total number of inodes and blocks in the filesystem, and information about the state of the filesystem. The superblock is essential for successfully mounting an ext2 filesystem. The superblock is stored at the beginning of a filesystem, at an offset of 1024 bytes from the start of the device. Because of its importance, backup copies of the superblock are stored throughout the filesystem in block groups.
Block groups are collections of blocks that further organize an ext2 filesystem. In addition to containing a fixed amount of blocks, each block group originally stored a backup copy of the superblock. However, this method wasted space, and now backup copies are stored only in block groups 0 and 1, as well as block groups that are powers of 3, 5, and 7. This distribution conserves space, while insuring that a usable copy of the superblock is always intact. In the event that the superblock becomes corrupt, a mount option allows system administrators to specify an alternate superblock location.
Each block group begins with a group descriptor, which contains a block bitmap, an inode bitmap, and an inode table. (The group descriptor follows the superblock backup on block groups that contain a backup of the superblock.) The block and inode bitmaps are simply bit patterns that identify which blocks and inodes in the current block group ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access