MentOS  0.8.0
The Mentoring Operating System
Public Attributes | List of all members
ext2_superblock_t Struct Reference

The superblock contains all the information about the configuration of the filesystem. More...

Public Attributes

uint32_t inodes_count
 Total number of inodes in file system.
 
uint32_t blocks_count
 Total number of blocks in file system.
 
uint32_t r_blocks_count
 Number of blocks reserved for superuser.
 
uint32_t free_blocks_count
 Total number of unallocated blocks.
 
uint32_t free_inodes_count
 Total number of unallocated inodes.
 
uint32_t first_data_block
 Block number of the block containing the superblock.
 
uint32_t log_block_size
 The number to shift 1024 to the left by to obtain the block size (log2 (block size) - 10).
 
uint32_t log_frag_size
 The number to shift 1024 to the left by to obtain the fragment size (log2 (fragment size) - 10).
 
uint32_t blocks_per_group
 Number of blocks in each block group.
 
uint32_t frags_per_group
 Number of fragments in each block group.
 
uint32_t inodes_per_group
 Number of inodes in each block group.
 
uint32_t mtime
 Last mount time (in POSIX time).
 
uint32_t wtime
 Last written time (in POSIX time).
 
uint16_t mnt_count
 Number of times the volume has been mounted since its last consistency check (fsck).
 
uint16_t max_mnt_count
 Number of mounts allowed before a consistency check (fsck) must be done.
 
uint16_t magic
 Ext2 signature (0xef53), used to help confirm the presence of Ext2 on a volume.
 
uint16_t state
 File system state.
 
uint16_t errors
 What to do when an error is detected.
 
uint16_t minor_rev_level
 Minor portion of version (combine with Major portion below to construct full version field).
 
uint32_t lastcheck
 POSIX time of last consistency check (fsck).
 
uint32_t checkinterval
 Interval (in POSIX time) between forced consistency checks (fsck).
 
uint32_t creator_os
 Operating system ID from which the filesystem on this volume was created.
 
uint32_t rev_level
 Major portion of version (combine with Minor portion above to construct full version field).
 
uint16_t def_resuid
 User ID that can use reserved blocks.
 
uint16_t def_resgid
 Group ID that can use reserved blocks.
 
uint32_t first_ino
 First non-reserved inode in file system. (In versions < 1.0, this is fixed as 11)
 
uint16_t inode_size
 Size of each inode structure in bytes. (In versions < 1.0, this is fixed as 128)
 
uint16_t block_group_nr
 Block group that this superblock is part of (if backup copy).
 
uint32_t feature_compat
 Optional features present (features that are not required to read or write, but usually result in a performance increase).
 
uint32_t feature_incompat
 Required features present (features that are required to be supported to read or write)
 
uint32_t feature_ro_compat
 Features that if not supported, the volume must be mounted read-only).
 
uint8_t uuid [16]
 File system ID (what is output by blkid).
 
uint8_t volume_name [16]
 Volume name (C-style string: characters terminated by a 0 byte).
 
uint8_t last_mounted [64]
 Path volume was last mounted to (C-style string: characters terminated by a 0 byte).
 
uint32_t algo_bitmap
 Compression algorithms used.
 
uint8_t prealloc_blocks
 Number of blocks to preallocate for files.
 
uint8_t prealloc_dir_blocks
 Number of blocks to preallocate for directories.
 
uint16_t padding0
 (Unused)
 
uint8_t journal_uuid [16]
 Journal ID.
 
uint32_t journal_inum
 Inode number of journal file.
 
uint32_t jounral_dev
 Device number of journal file.
 
uint32_t last_orphan
 Start of list of inodes to delete.
 
uint32_t hash_seed [4]
 HTree hash seed.
 
uint8_t def_hash_version
 Ddefault hash version to use.
 
uint16_t padding1
 Padding.
 
uint8_t padding2
 Padding.
 
uint32_t default_mount_options
 The default mount options for the file system.
 
uint32_t first_meta_block_group_id
 The ID of the first meta block group.
 
uint8_t reserved [760]
 Reserved.
 

Detailed Description

The superblock contains all the information about the configuration of the filesystem.

The primary copy of the superblock is stored at an offset of 1024 bytes from the start of the device, and it is essential to mounting the filesystem. Since it is so important, backup copies of the superblock are stored in block groups throughout the filesystem.


The documentation for this struct was generated from the following file: