18a98ec7cSDarrick J. Wong.. SPDX-License-Identifier: GPL-2.0 28a98ec7cSDarrick J. Wong 38a98ec7cSDarrick J. WongSuper Block 48a98ec7cSDarrick J. Wong----------- 58a98ec7cSDarrick J. Wong 68a98ec7cSDarrick J. WongThe superblock records various information about the enclosing 78a98ec7cSDarrick J. Wongfilesystem, such as block counts, inode counts, supported features, 88a98ec7cSDarrick J. Wongmaintenance information, and more. 98a98ec7cSDarrick J. Wong 10*3103084aSWang JianjianIf the sparse_super feature flag is set, redundant copies of the 118a98ec7cSDarrick J. Wongsuperblock and group descriptors are kept only in the groups whose group 128a98ec7cSDarrick J. Wongnumber is either 0 or a power of 3, 5, or 7. If the flag is not set, 138a98ec7cSDarrick J. Wongredundant copies are kept in all groups. 148a98ec7cSDarrick J. Wong 158a98ec7cSDarrick J. WongThe superblock checksum is calculated against the superblock structure, 168a98ec7cSDarrick J. Wongwhich includes the FS UUID. 178a98ec7cSDarrick J. Wong 188a98ec7cSDarrick J. WongThe ext4 superblock is laid out as follows in 198a98ec7cSDarrick J. Wong``struct ext4_super_block``: 208a98ec7cSDarrick J. Wong 218a98ec7cSDarrick J. Wong.. list-table:: 228a98ec7cSDarrick J. Wong :widths: 8 8 24 40 238a98ec7cSDarrick J. Wong :header-rows: 1 248a98ec7cSDarrick J. Wong 258a98ec7cSDarrick J. Wong * - Offset 268a98ec7cSDarrick J. Wong - Size 278a98ec7cSDarrick J. Wong - Name 288a98ec7cSDarrick J. Wong - Description 298a98ec7cSDarrick J. Wong * - 0x0 30*3103084aSWang Jianjian - __le32 31*3103084aSWang Jianjian - s_inodes_count 328a98ec7cSDarrick J. Wong - Total inode count. 338a98ec7cSDarrick J. Wong * - 0x4 34*3103084aSWang Jianjian - __le32 35*3103084aSWang Jianjian - s_blocks_count_lo 368a98ec7cSDarrick J. Wong - Total block count. 378a98ec7cSDarrick J. Wong * - 0x8 38*3103084aSWang Jianjian - __le32 39*3103084aSWang Jianjian - s_r_blocks_count_lo 408a98ec7cSDarrick J. Wong - This number of blocks can only be allocated by the super-user. 418a98ec7cSDarrick J. Wong * - 0xC 42*3103084aSWang Jianjian - __le32 43*3103084aSWang Jianjian - s_free_blocks_count_lo 448a98ec7cSDarrick J. Wong - Free block count. 458a98ec7cSDarrick J. Wong * - 0x10 46*3103084aSWang Jianjian - __le32 47*3103084aSWang Jianjian - s_free_inodes_count 488a98ec7cSDarrick J. Wong - Free inode count. 498a98ec7cSDarrick J. Wong * - 0x14 50*3103084aSWang Jianjian - __le32 51*3103084aSWang Jianjian - s_first_data_block 528a98ec7cSDarrick J. Wong - First data block. This must be at least 1 for 1k-block filesystems and 538a98ec7cSDarrick J. Wong is typically 0 for all other block sizes. 548a98ec7cSDarrick J. Wong * - 0x18 55*3103084aSWang Jianjian - __le32 56*3103084aSWang Jianjian - s_log_block_size 57*3103084aSWang Jianjian - Block size is 2 ^ (10 + s_log_block_size). 588a98ec7cSDarrick J. Wong * - 0x1C 59*3103084aSWang Jianjian - __le32 60*3103084aSWang Jianjian - s_log_cluster_size 61*3103084aSWang Jianjian - Cluster size is 2 ^ (10 + s_log_cluster_size) blocks if bigalloc is 62*3103084aSWang Jianjian enabled. Otherwise s_log_cluster_size must equal s_log_block_size. 638a98ec7cSDarrick J. Wong * - 0x20 64*3103084aSWang Jianjian - __le32 65*3103084aSWang Jianjian - s_blocks_per_group 668a98ec7cSDarrick J. Wong - Blocks per group. 678a98ec7cSDarrick J. Wong * - 0x24 68*3103084aSWang Jianjian - __le32 69*3103084aSWang Jianjian - s_clusters_per_group 708a98ec7cSDarrick J. Wong - Clusters per group, if bigalloc is enabled. Otherwise 71*3103084aSWang Jianjian s_clusters_per_group must equal s_blocks_per_group. 728a98ec7cSDarrick J. Wong * - 0x28 73*3103084aSWang Jianjian - __le32 74*3103084aSWang Jianjian - s_inodes_per_group 758a98ec7cSDarrick J. Wong - Inodes per group. 768a98ec7cSDarrick J. Wong * - 0x2C 77*3103084aSWang Jianjian - __le32 78*3103084aSWang Jianjian - s_mtime 798a98ec7cSDarrick J. Wong - Mount time, in seconds since the epoch. 808a98ec7cSDarrick J. Wong * - 0x30 81*3103084aSWang Jianjian - __le32 82*3103084aSWang Jianjian - s_wtime 838a98ec7cSDarrick J. Wong - Write time, in seconds since the epoch. 848a98ec7cSDarrick J. Wong * - 0x34 85*3103084aSWang Jianjian - __le16 86*3103084aSWang Jianjian - s_mnt_count 878a98ec7cSDarrick J. Wong - Number of mounts since the last fsck. 888a98ec7cSDarrick J. Wong * - 0x36 89*3103084aSWang Jianjian - __le16 90*3103084aSWang Jianjian - s_max_mnt_count 918a98ec7cSDarrick J. Wong - Number of mounts beyond which a fsck is needed. 928a98ec7cSDarrick J. Wong * - 0x38 93*3103084aSWang Jianjian - __le16 94*3103084aSWang Jianjian - s_magic 958a98ec7cSDarrick J. Wong - Magic signature, 0xEF53 968a98ec7cSDarrick J. Wong * - 0x3A 97*3103084aSWang Jianjian - __le16 98*3103084aSWang Jianjian - s_state 998a98ec7cSDarrick J. Wong - File system state. See super_state_ for more info. 1008a98ec7cSDarrick J. Wong * - 0x3C 101*3103084aSWang Jianjian - __le16 102*3103084aSWang Jianjian - s_errors 1038a98ec7cSDarrick J. Wong - Behaviour when detecting errors. See super_errors_ for more info. 1048a98ec7cSDarrick J. Wong * - 0x3E 105*3103084aSWang Jianjian - __le16 106*3103084aSWang Jianjian - s_minor_rev_level 1078a98ec7cSDarrick J. Wong - Minor revision level. 1088a98ec7cSDarrick J. Wong * - 0x40 109*3103084aSWang Jianjian - __le32 110*3103084aSWang Jianjian - s_lastcheck 1118a98ec7cSDarrick J. Wong - Time of last check, in seconds since the epoch. 1128a98ec7cSDarrick J. Wong * - 0x44 113*3103084aSWang Jianjian - __le32 114*3103084aSWang Jianjian - s_checkinterval 1158a98ec7cSDarrick J. Wong - Maximum time between checks, in seconds. 1168a98ec7cSDarrick J. Wong * - 0x48 117*3103084aSWang Jianjian - __le32 118*3103084aSWang Jianjian - s_creator_os 1198a98ec7cSDarrick J. Wong - Creator OS. See the table super_creator_ for more info. 1208a98ec7cSDarrick J. Wong * - 0x4C 121*3103084aSWang Jianjian - __le32 122*3103084aSWang Jianjian - s_rev_level 1238a98ec7cSDarrick J. Wong - Revision level. See the table super_revision_ for more info. 1248a98ec7cSDarrick J. Wong * - 0x50 125*3103084aSWang Jianjian - __le16 126*3103084aSWang Jianjian - s_def_resuid 1278a98ec7cSDarrick J. Wong - Default uid for reserved blocks. 1288a98ec7cSDarrick J. Wong * - 0x52 129*3103084aSWang Jianjian - __le16 130*3103084aSWang Jianjian - s_def_resgid 1318a98ec7cSDarrick J. Wong - Default gid for reserved blocks. 1328a98ec7cSDarrick J. Wong * - 1338a98ec7cSDarrick J. Wong - 1348a98ec7cSDarrick J. Wong - 1358a98ec7cSDarrick J. Wong - These fields are for EXT4_DYNAMIC_REV superblocks only. 1368a98ec7cSDarrick J. Wong 1378a98ec7cSDarrick J. Wong Note: the difference between the compatible feature set and the 1388a98ec7cSDarrick J. Wong incompatible feature set is that if there is a bit set in the 1398a98ec7cSDarrick J. Wong incompatible feature set that the kernel doesn't know about, it should 1408a98ec7cSDarrick J. Wong refuse to mount the filesystem. 1418a98ec7cSDarrick J. Wong 1428a98ec7cSDarrick J. Wong e2fsck's requirements are more strict; if it doesn't know 1438a98ec7cSDarrick J. Wong about a feature in either the compatible or incompatible feature set, it 1448a98ec7cSDarrick J. Wong must abort and not try to meddle with things it doesn't understand... 1458a98ec7cSDarrick J. Wong * - 0x54 146*3103084aSWang Jianjian - __le32 147*3103084aSWang Jianjian - s_first_ino 1488a98ec7cSDarrick J. Wong - First non-reserved inode. 1498a98ec7cSDarrick J. Wong * - 0x58 150*3103084aSWang Jianjian - __le16 151*3103084aSWang Jianjian - s_inode_size 1528a98ec7cSDarrick J. Wong - Size of inode structure, in bytes. 1538a98ec7cSDarrick J. Wong * - 0x5A 154*3103084aSWang Jianjian - __le16 155*3103084aSWang Jianjian - s_block_group_nr 1568a98ec7cSDarrick J. Wong - Block group # of this superblock. 1578a98ec7cSDarrick J. Wong * - 0x5C 158*3103084aSWang Jianjian - __le32 159*3103084aSWang Jianjian - s_feature_compat 1608a98ec7cSDarrick J. Wong - Compatible feature set flags. Kernel can still read/write this fs even 1618a98ec7cSDarrick J. Wong if it doesn't understand a flag; fsck should not do that. See the 1628a98ec7cSDarrick J. Wong super_compat_ table for more info. 1638a98ec7cSDarrick J. Wong * - 0x60 164*3103084aSWang Jianjian - __le32 165*3103084aSWang Jianjian - s_feature_incompat 1668a98ec7cSDarrick J. Wong - Incompatible feature set. If the kernel or fsck doesn't understand one 1678a98ec7cSDarrick J. Wong of these bits, it should stop. See the super_incompat_ table for more 1688a98ec7cSDarrick J. Wong info. 1698a98ec7cSDarrick J. Wong * - 0x64 170*3103084aSWang Jianjian - __le32 171*3103084aSWang Jianjian - s_feature_ro_compat 1728a98ec7cSDarrick J. Wong - Readonly-compatible feature set. If the kernel doesn't understand one of 1738a98ec7cSDarrick J. Wong these bits, it can still mount read-only. See the super_rocompat_ table 1748a98ec7cSDarrick J. Wong for more info. 1758a98ec7cSDarrick J. Wong * - 0x68 176*3103084aSWang Jianjian - __u8 177*3103084aSWang Jianjian - s_uuid[16] 1788a98ec7cSDarrick J. Wong - 128-bit UUID for volume. 1798a98ec7cSDarrick J. Wong * - 0x78 1808a98ec7cSDarrick J. Wong - char 181*3103084aSWang Jianjian - s_volume_name[16] 1828a98ec7cSDarrick J. Wong - Volume label. 1838a98ec7cSDarrick J. Wong * - 0x88 1848a98ec7cSDarrick J. Wong - char 185*3103084aSWang Jianjian - s_last_mounted[64] 1868a98ec7cSDarrick J. Wong - Directory where filesystem was last mounted. 1878a98ec7cSDarrick J. Wong * - 0xC8 188*3103084aSWang Jianjian - __le32 189*3103084aSWang Jianjian - s_algorithm_usage_bitmap 1908a98ec7cSDarrick J. Wong - For compression (Not used in e2fsprogs/Linux) 1918a98ec7cSDarrick J. Wong * - 1928a98ec7cSDarrick J. Wong - 1938a98ec7cSDarrick J. Wong - 1948a98ec7cSDarrick J. Wong - Performance hints. Directory preallocation should only happen if the 1958a98ec7cSDarrick J. Wong EXT4_FEATURE_COMPAT_DIR_PREALLOC flag is on. 1968a98ec7cSDarrick J. Wong * - 0xCC 197*3103084aSWang Jianjian - __u8 198*3103084aSWang Jianjian - s_prealloc_blocks 1998a98ec7cSDarrick J. Wong - #. of blocks to try to preallocate for ... files? (Not used in 2008a98ec7cSDarrick J. Wong e2fsprogs/Linux) 2018a98ec7cSDarrick J. Wong * - 0xCD 202*3103084aSWang Jianjian - __u8 203*3103084aSWang Jianjian - s_prealloc_dir_blocks 2048a98ec7cSDarrick J. Wong - #. of blocks to preallocate for directories. (Not used in 2058a98ec7cSDarrick J. Wong e2fsprogs/Linux) 2068a98ec7cSDarrick J. Wong * - 0xCE 207*3103084aSWang Jianjian - __le16 208*3103084aSWang Jianjian - s_reserved_gdt_blocks 2098a98ec7cSDarrick J. Wong - Number of reserved GDT entries for future filesystem expansion. 2108a98ec7cSDarrick J. Wong * - 2118a98ec7cSDarrick J. Wong - 2128a98ec7cSDarrick J. Wong - 2138a98ec7cSDarrick J. Wong - Journalling support is valid only if EXT4_FEATURE_COMPAT_HAS_JOURNAL is 2148a98ec7cSDarrick J. Wong set. 2158a98ec7cSDarrick J. Wong * - 0xD0 216*3103084aSWang Jianjian - __u8 217*3103084aSWang Jianjian - s_journal_uuid[16] 2188a98ec7cSDarrick J. Wong - UUID of journal superblock 2198a98ec7cSDarrick J. Wong * - 0xE0 220*3103084aSWang Jianjian - __le32 221*3103084aSWang Jianjian - s_journal_inum 2228a98ec7cSDarrick J. Wong - inode number of journal file. 2238a98ec7cSDarrick J. Wong * - 0xE4 224*3103084aSWang Jianjian - __le32 225*3103084aSWang Jianjian - s_journal_dev 2268a98ec7cSDarrick J. Wong - Device number of journal file, if the external journal feature flag is 2278a98ec7cSDarrick J. Wong set. 2288a98ec7cSDarrick J. Wong * - 0xE8 229*3103084aSWang Jianjian - __le32 230*3103084aSWang Jianjian - s_last_orphan 2318a98ec7cSDarrick J. Wong - Start of list of orphaned inodes to delete. 2328a98ec7cSDarrick J. Wong * - 0xEC 233*3103084aSWang Jianjian - __le32 234*3103084aSWang Jianjian - s_hash_seed[4] 2358a98ec7cSDarrick J. Wong - HTREE hash seed. 2368a98ec7cSDarrick J. Wong * - 0xFC 237*3103084aSWang Jianjian - __u8 238*3103084aSWang Jianjian - s_def_hash_version 2398a98ec7cSDarrick J. Wong - Default hash algorithm to use for directory hashes. See super_def_hash_ 2408a98ec7cSDarrick J. Wong for more info. 2418a98ec7cSDarrick J. Wong * - 0xFD 242*3103084aSWang Jianjian - __u8 243*3103084aSWang Jianjian - s_jnl_backup_type 244*3103084aSWang Jianjian - If this value is 0 or EXT3_JNL_BACKUP_BLOCKS (1), then the 2458a98ec7cSDarrick J. Wong ``s_jnl_blocks`` field contains a duplicate copy of the inode's 2468a98ec7cSDarrick J. Wong ``i_block[]`` array and ``i_size``. 2478a98ec7cSDarrick J. Wong * - 0xFE 248*3103084aSWang Jianjian - __le16 249*3103084aSWang Jianjian - s_desc_size 2508a98ec7cSDarrick J. Wong - Size of group descriptors, in bytes, if the 64bit incompat feature flag 2518a98ec7cSDarrick J. Wong is set. 2528a98ec7cSDarrick J. Wong * - 0x100 253*3103084aSWang Jianjian - __le32 254*3103084aSWang Jianjian - s_default_mount_opts 2558a98ec7cSDarrick J. Wong - Default mount options. See the super_mountopts_ table for more info. 2568a98ec7cSDarrick J. Wong * - 0x104 257*3103084aSWang Jianjian - __le32 258*3103084aSWang Jianjian - s_first_meta_bg 259*3103084aSWang Jianjian - First metablock block group, if the meta_bg feature is enabled. 2608a98ec7cSDarrick J. Wong * - 0x108 261*3103084aSWang Jianjian - __le32 262*3103084aSWang Jianjian - s_mkfs_time 2638a98ec7cSDarrick J. Wong - When the filesystem was created, in seconds since the epoch. 2648a98ec7cSDarrick J. Wong * - 0x10C 265*3103084aSWang Jianjian - __le32 266*3103084aSWang Jianjian - s_jnl_blocks[17] 2678a98ec7cSDarrick J. Wong - Backup copy of the journal inode's ``i_block[]`` array in the first 15 268*3103084aSWang Jianjian elements and i_size_high and i_size in the 16th and 17th elements, 2698a98ec7cSDarrick J. Wong respectively. 2708a98ec7cSDarrick J. Wong * - 2718a98ec7cSDarrick J. Wong - 2728a98ec7cSDarrick J. Wong - 2738a98ec7cSDarrick J. Wong - 64bit support is valid only if EXT4_FEATURE_COMPAT_64BIT is set. 2748a98ec7cSDarrick J. Wong * - 0x150 275*3103084aSWang Jianjian - __le32 276*3103084aSWang Jianjian - s_blocks_count_hi 2778a98ec7cSDarrick J. Wong - High 32-bits of the block count. 2788a98ec7cSDarrick J. Wong * - 0x154 279*3103084aSWang Jianjian - __le32 280*3103084aSWang Jianjian - s_r_blocks_count_hi 2818a98ec7cSDarrick J. Wong - High 32-bits of the reserved block count. 2828a98ec7cSDarrick J. Wong * - 0x158 283*3103084aSWang Jianjian - __le32 284*3103084aSWang Jianjian - s_free_blocks_count_hi 2858a98ec7cSDarrick J. Wong - High 32-bits of the free block count. 2868a98ec7cSDarrick J. Wong * - 0x15C 287*3103084aSWang Jianjian - __le16 288*3103084aSWang Jianjian - s_min_extra_isize 2898a98ec7cSDarrick J. Wong - All inodes have at least # bytes. 2908a98ec7cSDarrick J. Wong * - 0x15E 291*3103084aSWang Jianjian - __le16 292*3103084aSWang Jianjian - s_want_extra_isize 2938a98ec7cSDarrick J. Wong - New inodes should reserve # bytes. 2948a98ec7cSDarrick J. Wong * - 0x160 295*3103084aSWang Jianjian - __le32 296*3103084aSWang Jianjian - s_flags 2978a98ec7cSDarrick J. Wong - Miscellaneous flags. See the super_flags_ table for more info. 2988a98ec7cSDarrick J. Wong * - 0x164 299*3103084aSWang Jianjian - __le16 300*3103084aSWang Jianjian - s_raid_stride 3018a98ec7cSDarrick J. Wong - RAID stride. This is the number of logical blocks read from or written 3028a98ec7cSDarrick J. Wong to the disk before moving to the next disk. This affects the placement 3038a98ec7cSDarrick J. Wong of filesystem metadata, which will hopefully make RAID storage faster. 3048a98ec7cSDarrick J. Wong * - 0x166 305*3103084aSWang Jianjian - __le16 306*3103084aSWang Jianjian - s_mmp_interval 3078a98ec7cSDarrick J. Wong - #. seconds to wait in multi-mount prevention (MMP) checking. In theory, 3088a98ec7cSDarrick J. Wong MMP is a mechanism to record in the superblock which host and device 3098a98ec7cSDarrick J. Wong have mounted the filesystem, in order to prevent multiple mounts. This 3108a98ec7cSDarrick J. Wong feature does not seem to be implemented... 3118a98ec7cSDarrick J. Wong * - 0x168 312*3103084aSWang Jianjian - __le64 313*3103084aSWang Jianjian - s_mmp_block 3148a98ec7cSDarrick J. Wong - Block # for multi-mount protection data. 3158a98ec7cSDarrick J. Wong * - 0x170 316*3103084aSWang Jianjian - __le32 317*3103084aSWang Jianjian - s_raid_stripe_width 3188a98ec7cSDarrick J. Wong - RAID stripe width. This is the number of logical blocks read from or 3198a98ec7cSDarrick J. Wong written to the disk before coming back to the current disk. This is used 3208a98ec7cSDarrick J. Wong by the block allocator to try to reduce the number of read-modify-write 3218a98ec7cSDarrick J. Wong operations in a RAID5/6. 3228a98ec7cSDarrick J. Wong * - 0x174 323*3103084aSWang Jianjian - __u8 324*3103084aSWang Jianjian - s_log_groups_per_flex 3258a98ec7cSDarrick J. Wong - Size of a flexible block group is 2 ^ ``s_log_groups_per_flex``. 3268a98ec7cSDarrick J. Wong * - 0x175 327*3103084aSWang Jianjian - __u8 328*3103084aSWang Jianjian - s_checksum_type 3298a98ec7cSDarrick J. Wong - Metadata checksum algorithm type. The only valid value is 1 (crc32c). 3308a98ec7cSDarrick J. Wong * - 0x176 331*3103084aSWang Jianjian - __le16 332*3103084aSWang Jianjian - s_reserved_pad 3338a98ec7cSDarrick J. Wong - 3348a98ec7cSDarrick J. Wong * - 0x178 335*3103084aSWang Jianjian - __le64 336*3103084aSWang Jianjian - s_kbytes_written 3378a98ec7cSDarrick J. Wong - Number of KiB written to this filesystem over its lifetime. 3388a98ec7cSDarrick J. Wong * - 0x180 339*3103084aSWang Jianjian - __le32 340*3103084aSWang Jianjian - s_snapshot_inum 3418a98ec7cSDarrick J. Wong - inode number of active snapshot. (Not used in e2fsprogs/Linux.) 3428a98ec7cSDarrick J. Wong * - 0x184 343*3103084aSWang Jianjian - __le32 344*3103084aSWang Jianjian - s_snapshot_id 3458a98ec7cSDarrick J. Wong - Sequential ID of active snapshot. (Not used in e2fsprogs/Linux.) 3468a98ec7cSDarrick J. Wong * - 0x188 347*3103084aSWang Jianjian - __le64 348*3103084aSWang Jianjian - s_snapshot_r_blocks_count 3498a98ec7cSDarrick J. Wong - Number of blocks reserved for active snapshot's future use. (Not used in 3508a98ec7cSDarrick J. Wong e2fsprogs/Linux.) 3518a98ec7cSDarrick J. Wong * - 0x190 352*3103084aSWang Jianjian - __le32 353*3103084aSWang Jianjian - s_snapshot_list 3548a98ec7cSDarrick J. Wong - inode number of the head of the on-disk snapshot list. (Not used in 3558a98ec7cSDarrick J. Wong e2fsprogs/Linux.) 3568a98ec7cSDarrick J. Wong * - 0x194 357*3103084aSWang Jianjian - __le32 358*3103084aSWang Jianjian - s_error_count 3598a98ec7cSDarrick J. Wong - Number of errors seen. 3608a98ec7cSDarrick J. Wong * - 0x198 361*3103084aSWang Jianjian - __le32 362*3103084aSWang Jianjian - s_first_error_time 3638a98ec7cSDarrick J. Wong - First time an error happened, in seconds since the epoch. 3648a98ec7cSDarrick J. Wong * - 0x19C 365*3103084aSWang Jianjian - __le32 366*3103084aSWang Jianjian - s_first_error_ino 3678a98ec7cSDarrick J. Wong - inode involved in first error. 3688a98ec7cSDarrick J. Wong * - 0x1A0 369*3103084aSWang Jianjian - __le64 370*3103084aSWang Jianjian - s_first_error_block 3718a98ec7cSDarrick J. Wong - Number of block involved of first error. 3728a98ec7cSDarrick J. Wong * - 0x1A8 373*3103084aSWang Jianjian - __u8 374*3103084aSWang Jianjian - s_first_error_func[32] 3758a98ec7cSDarrick J. Wong - Name of function where the error happened. 3768a98ec7cSDarrick J. Wong * - 0x1C8 377*3103084aSWang Jianjian - __le32 378*3103084aSWang Jianjian - s_first_error_line 3798a98ec7cSDarrick J. Wong - Line number where error happened. 3808a98ec7cSDarrick J. Wong * - 0x1CC 381*3103084aSWang Jianjian - __le32 382*3103084aSWang Jianjian - s_last_error_time 3838a98ec7cSDarrick J. Wong - Time of most recent error, in seconds since the epoch. 3848a98ec7cSDarrick J. Wong * - 0x1D0 385*3103084aSWang Jianjian - __le32 386*3103084aSWang Jianjian - s_last_error_ino 3878a98ec7cSDarrick J. Wong - inode involved in most recent error. 3888a98ec7cSDarrick J. Wong * - 0x1D4 389*3103084aSWang Jianjian - __le32 390*3103084aSWang Jianjian - s_last_error_line 3918a98ec7cSDarrick J. Wong - Line number where most recent error happened. 3928a98ec7cSDarrick J. Wong * - 0x1D8 393*3103084aSWang Jianjian - __le64 394*3103084aSWang Jianjian - s_last_error_block 3958a98ec7cSDarrick J. Wong - Number of block involved in most recent error. 3968a98ec7cSDarrick J. Wong * - 0x1E0 397*3103084aSWang Jianjian - __u8 398*3103084aSWang Jianjian - s_last_error_func[32] 3998a98ec7cSDarrick J. Wong - Name of function where the most recent error happened. 4008a98ec7cSDarrick J. Wong * - 0x200 401*3103084aSWang Jianjian - __u8 402*3103084aSWang Jianjian - s_mount_opts[64] 4038a98ec7cSDarrick J. Wong - ASCIIZ string of mount options. 4048a98ec7cSDarrick J. Wong * - 0x240 405*3103084aSWang Jianjian - __le32 406*3103084aSWang Jianjian - s_usr_quota_inum 4078a98ec7cSDarrick J. Wong - Inode number of user `quota <quota>`__ file. 4088a98ec7cSDarrick J. Wong * - 0x244 409*3103084aSWang Jianjian - __le32 410*3103084aSWang Jianjian - s_grp_quota_inum 4118a98ec7cSDarrick J. Wong - Inode number of group `quota <quota>`__ file. 4128a98ec7cSDarrick J. Wong * - 0x248 413*3103084aSWang Jianjian - __le32 414*3103084aSWang Jianjian - s_overhead_blocks 4158a98ec7cSDarrick J. Wong - Overhead blocks/clusters in fs. (Huh? This field is always zero, which 4168a98ec7cSDarrick J. Wong means that the kernel calculates it dynamically.) 4178a98ec7cSDarrick J. Wong * - 0x24C 418*3103084aSWang Jianjian - __le32 419*3103084aSWang Jianjian - s_backup_bgs[2] 420*3103084aSWang Jianjian - Block groups containing superblock backups (if sparse_super2) 4218a98ec7cSDarrick J. Wong * - 0x254 422*3103084aSWang Jianjian - __u8 423*3103084aSWang Jianjian - s_encrypt_algos[4] 4248a98ec7cSDarrick J. Wong - Encryption algorithms in use. There can be up to four algorithms in use 4258a98ec7cSDarrick J. Wong at any time; valid algorithm codes are given in the super_encrypt_ table 4268a98ec7cSDarrick J. Wong below. 4278a98ec7cSDarrick J. Wong * - 0x258 428*3103084aSWang Jianjian - __u8 429*3103084aSWang Jianjian - s_encrypt_pw_salt[16] 4308a98ec7cSDarrick J. Wong - Salt for the string2key algorithm for encryption. 4318a98ec7cSDarrick J. Wong * - 0x268 432*3103084aSWang Jianjian - __le32 433*3103084aSWang Jianjian - s_lpf_ino 4348a98ec7cSDarrick J. Wong - Inode number of lost+found 4358a98ec7cSDarrick J. Wong * - 0x26C 436*3103084aSWang Jianjian - __le32 437*3103084aSWang Jianjian - s_prj_quota_inum 4388a98ec7cSDarrick J. Wong - Inode that tracks project quotas. 4398a98ec7cSDarrick J. Wong * - 0x270 440*3103084aSWang Jianjian - __le32 441*3103084aSWang Jianjian - s_checksum_seed 442*3103084aSWang Jianjian - Checksum seed used for metadata_csum calculations. This value is 443*3103084aSWang Jianjian crc32c(~0, $orig_fs_uuid). 4448a98ec7cSDarrick J. Wong * - 0x274 445*3103084aSWang Jianjian - __u8 446*3103084aSWang Jianjian - s_wtime_hi 4478a98ec7cSDarrick J. Wong - Upper 8 bits of the s_wtime field. 4488a98ec7cSDarrick J. Wong * - 0x275 449*3103084aSWang Jianjian - __u8 450*3103084aSWang Jianjian - s_mtime_hi 4518a98ec7cSDarrick J. Wong - Upper 8 bits of the s_mtime field. 4528a98ec7cSDarrick J. Wong * - 0x276 453*3103084aSWang Jianjian - __u8 454*3103084aSWang Jianjian - s_mkfs_time_hi 4558a98ec7cSDarrick J. Wong - Upper 8 bits of the s_mkfs_time field. 4568a98ec7cSDarrick J. Wong * - 0x277 457*3103084aSWang Jianjian - __u8 458*3103084aSWang Jianjian - s_lastcheck_hi 4598a98ec7cSDarrick J. Wong - Upper 8 bits of the s_lastcheck_hi field. 4608a98ec7cSDarrick J. Wong * - 0x278 461*3103084aSWang Jianjian - __u8 462*3103084aSWang Jianjian - s_first_error_time_hi 4638a98ec7cSDarrick J. Wong - Upper 8 bits of the s_first_error_time_hi field. 4648a98ec7cSDarrick J. Wong * - 0x279 465*3103084aSWang Jianjian - __u8 466*3103084aSWang Jianjian - s_last_error_time_hi 4678a98ec7cSDarrick J. Wong - Upper 8 bits of the s_last_error_time_hi field. 4688a98ec7cSDarrick J. Wong * - 0x27A 469*3103084aSWang Jianjian - __u8 470*3103084aSWang Jianjian - s_pad[2] 4718a98ec7cSDarrick J. Wong - Zero padding. 4728a98ec7cSDarrick J. Wong * - 0x27C 473*3103084aSWang Jianjian - __le16 474*3103084aSWang Jianjian - s_encoding 475219db95bSAyush Ranjan - Filename charset encoding. 476219db95bSAyush Ranjan * - 0x27E 477*3103084aSWang Jianjian - __le16 478*3103084aSWang Jianjian - s_encoding_flags 479219db95bSAyush Ranjan - Filename charset encoding flags. 480219db95bSAyush Ranjan * - 0x280 481*3103084aSWang Jianjian - __le32 482*3103084aSWang Jianjian - s_orphan_file_inum 4833a6541e9SJan Kara - Orphan file inode number. 4843a6541e9SJan Kara * - 0x284 485*3103084aSWang Jianjian - __le32 486*3103084aSWang Jianjian - s_reserved[94] 4878a98ec7cSDarrick J. Wong - Padding to the end of the block. 4888a98ec7cSDarrick J. Wong * - 0x3FC 489*3103084aSWang Jianjian - __le32 490*3103084aSWang Jianjian - s_checksum 4918a98ec7cSDarrick J. Wong - Superblock checksum. 4928a98ec7cSDarrick J. Wong 4938a98ec7cSDarrick J. Wong.. _super_state: 4948a98ec7cSDarrick J. Wong 4958a98ec7cSDarrick J. WongThe superblock state is some combination of the following: 4968a98ec7cSDarrick J. Wong 4978a98ec7cSDarrick J. Wong.. list-table:: 4988a98ec7cSDarrick J. Wong :widths: 8 72 4998a98ec7cSDarrick J. Wong :header-rows: 1 5008a98ec7cSDarrick J. Wong 5018a98ec7cSDarrick J. Wong * - Value 5028a98ec7cSDarrick J. Wong - Description 5038a98ec7cSDarrick J. Wong * - 0x0001 5048a98ec7cSDarrick J. Wong - Cleanly umounted 5058a98ec7cSDarrick J. Wong * - 0x0002 5068a98ec7cSDarrick J. Wong - Errors detected 5078a98ec7cSDarrick J. Wong * - 0x0004 5088a98ec7cSDarrick J. Wong - Orphans being recovered 5098a98ec7cSDarrick J. Wong 5108a98ec7cSDarrick J. Wong.. _super_errors: 5118a98ec7cSDarrick J. Wong 5128a98ec7cSDarrick J. WongThe superblock error policy is one of the following: 5138a98ec7cSDarrick J. Wong 5148a98ec7cSDarrick J. Wong.. list-table:: 5158a98ec7cSDarrick J. Wong :widths: 8 72 5168a98ec7cSDarrick J. Wong :header-rows: 1 5178a98ec7cSDarrick J. Wong 5188a98ec7cSDarrick J. Wong * - Value 5198a98ec7cSDarrick J. Wong - Description 5208a98ec7cSDarrick J. Wong * - 1 5218a98ec7cSDarrick J. Wong - Continue 5228a98ec7cSDarrick J. Wong * - 2 5238a98ec7cSDarrick J. Wong - Remount read-only 5248a98ec7cSDarrick J. Wong * - 3 5258a98ec7cSDarrick J. Wong - Panic 5268a98ec7cSDarrick J. Wong 5278a98ec7cSDarrick J. Wong.. _super_creator: 5288a98ec7cSDarrick J. Wong 5298a98ec7cSDarrick J. WongThe filesystem creator is one of the following: 5308a98ec7cSDarrick J. Wong 5318a98ec7cSDarrick J. Wong.. list-table:: 5328a98ec7cSDarrick J. Wong :widths: 8 72 5338a98ec7cSDarrick J. Wong :header-rows: 1 5348a98ec7cSDarrick J. Wong 5358a98ec7cSDarrick J. Wong * - Value 5368a98ec7cSDarrick J. Wong - Description 5378a98ec7cSDarrick J. Wong * - 0 5388a98ec7cSDarrick J. Wong - Linux 5398a98ec7cSDarrick J. Wong * - 1 5408a98ec7cSDarrick J. Wong - Hurd 5418a98ec7cSDarrick J. Wong * - 2 5428a98ec7cSDarrick J. Wong - Masix 5438a98ec7cSDarrick J. Wong * - 3 5448a98ec7cSDarrick J. Wong - FreeBSD 5458a98ec7cSDarrick J. Wong * - 4 5468a98ec7cSDarrick J. Wong - Lites 5478a98ec7cSDarrick J. Wong 5488a98ec7cSDarrick J. Wong.. _super_revision: 5498a98ec7cSDarrick J. Wong 5508a98ec7cSDarrick J. WongThe superblock revision is one of the following: 5518a98ec7cSDarrick J. Wong 5528a98ec7cSDarrick J. Wong.. list-table:: 5538a98ec7cSDarrick J. Wong :widths: 8 72 5548a98ec7cSDarrick J. Wong :header-rows: 1 5558a98ec7cSDarrick J. Wong 5568a98ec7cSDarrick J. Wong * - Value 5578a98ec7cSDarrick J. Wong - Description 5588a98ec7cSDarrick J. Wong * - 0 5598a98ec7cSDarrick J. Wong - Original format 5608a98ec7cSDarrick J. Wong * - 1 5618a98ec7cSDarrick J. Wong - v2 format w/ dynamic inode sizes 5628a98ec7cSDarrick J. Wong 5638a98ec7cSDarrick J. WongNote that ``EXT4_DYNAMIC_REV`` refers to a revision 1 or newer filesystem. 5648a98ec7cSDarrick J. Wong 5658a98ec7cSDarrick J. Wong.. _super_compat: 5668a98ec7cSDarrick J. Wong 5678a98ec7cSDarrick J. WongThe superblock compatible features field is a combination of any of the 5688a98ec7cSDarrick J. Wongfollowing: 5698a98ec7cSDarrick J. Wong 5708a98ec7cSDarrick J. Wong.. list-table:: 5718a98ec7cSDarrick J. Wong :widths: 16 64 5728a98ec7cSDarrick J. Wong :header-rows: 1 5738a98ec7cSDarrick J. Wong 5748a98ec7cSDarrick J. Wong * - Value 5758a98ec7cSDarrick J. Wong - Description 5768a98ec7cSDarrick J. Wong * - 0x1 577*3103084aSWang Jianjian - Directory preallocation (COMPAT_DIR_PREALLOC). 5788a98ec7cSDarrick J. Wong * - 0x2 5798a98ec7cSDarrick J. Wong - “imagic inodes”. Not clear from the code what this does 580*3103084aSWang Jianjian (COMPAT_IMAGIC_INODES). 5818a98ec7cSDarrick J. Wong * - 0x4 582*3103084aSWang Jianjian - Has a journal (COMPAT_HAS_JOURNAL). 5838a98ec7cSDarrick J. Wong * - 0x8 584*3103084aSWang Jianjian - Supports extended attributes (COMPAT_EXT_ATTR). 5858a98ec7cSDarrick J. Wong * - 0x10 5868a98ec7cSDarrick J. Wong - Has reserved GDT blocks for filesystem expansion 587*3103084aSWang Jianjian (COMPAT_RESIZE_INODE). Requires RO_COMPAT_SPARSE_SUPER. 5888a98ec7cSDarrick J. Wong * - 0x20 589*3103084aSWang Jianjian - Has directory indices (COMPAT_DIR_INDEX). 5908a98ec7cSDarrick J. Wong * - 0x40 5918a98ec7cSDarrick J. Wong - “Lazy BG”. Not in Linux kernel, seems to have been for uninitialized 592*3103084aSWang Jianjian block groups? (COMPAT_LAZY_BG) 5938a98ec7cSDarrick J. Wong * - 0x80 594*3103084aSWang Jianjian - “Exclude inode”. Not used. (COMPAT_EXCLUDE_INODE). 5958a98ec7cSDarrick J. Wong * - 0x100 5968a98ec7cSDarrick J. Wong - “Exclude bitmap”. Seems to be used to indicate the presence of 5978a98ec7cSDarrick J. Wong snapshot-related exclude bitmaps? Not defined in kernel or used in 598*3103084aSWang Jianjian e2fsprogs (COMPAT_EXCLUDE_BITMAP). 5998a98ec7cSDarrick J. Wong * - 0x200 600*3103084aSWang Jianjian - Sparse Super Block, v2. If this flag is set, the SB field s_backup_bgs 6018a98ec7cSDarrick J. Wong points to the two block groups that contain backup superblocks 602*3103084aSWang Jianjian (COMPAT_SPARSE_SUPER2). 603a44ad683SHarshad Shirwadkar * - 0x400 604a44ad683SHarshad Shirwadkar - Fast commits supported. Although fast commits blocks are 605a44ad683SHarshad Shirwadkar backward incompatible, fast commit blocks are not always 606a44ad683SHarshad Shirwadkar present in the journal. If fast commit blocks are present in 607a44ad683SHarshad Shirwadkar the journal, JBD2 incompat feature 608*3103084aSWang Jianjian (JBD2_FEATURE_INCOMPAT_FAST_COMMIT) gets 609*3103084aSWang Jianjian set (COMPAT_FAST_COMMIT). 6103a6541e9SJan Kara * - 0x1000 6113a6541e9SJan Kara - Orphan file allocated. This is the special file for more efficient 6123a6541e9SJan Kara tracking of unlinked but still open inodes. When there may be any 6133a6541e9SJan Kara entries in the file, we additionally set proper rocompat feature 614*3103084aSWang Jianjian (RO_COMPAT_ORPHAN_PRESENT). 6158a98ec7cSDarrick J. Wong 6168a98ec7cSDarrick J. Wong.. _super_incompat: 6178a98ec7cSDarrick J. Wong 6188a98ec7cSDarrick J. WongThe superblock incompatible features field is a combination of any of the 6198a98ec7cSDarrick J. Wongfollowing: 6208a98ec7cSDarrick J. Wong 6218a98ec7cSDarrick J. Wong.. list-table:: 6228a98ec7cSDarrick J. Wong :widths: 16 64 6238a98ec7cSDarrick J. Wong :header-rows: 1 6248a98ec7cSDarrick J. Wong 6258a98ec7cSDarrick J. Wong * - Value 6268a98ec7cSDarrick J. Wong - Description 6278a98ec7cSDarrick J. Wong * - 0x1 628*3103084aSWang Jianjian - Compression (INCOMPAT_COMPRESSION). 6298a98ec7cSDarrick J. Wong * - 0x2 630*3103084aSWang Jianjian - Directory entries record the file type. See ext4_dir_entry_2 below 631*3103084aSWang Jianjian (INCOMPAT_FILETYPE). 6328a98ec7cSDarrick J. Wong * - 0x4 633*3103084aSWang Jianjian - Filesystem needs recovery (INCOMPAT_RECOVER). 6348a98ec7cSDarrick J. Wong * - 0x8 635*3103084aSWang Jianjian - Filesystem has a separate journal device (INCOMPAT_JOURNAL_DEV). 6368a98ec7cSDarrick J. Wong * - 0x10 6378a98ec7cSDarrick J. Wong - Meta block groups. See the earlier discussion of this feature 638*3103084aSWang Jianjian (INCOMPAT_META_BG). 6398a98ec7cSDarrick J. Wong * - 0x40 640*3103084aSWang Jianjian - Files in this filesystem use extents (INCOMPAT_EXTENTS). 6418a98ec7cSDarrick J. Wong * - 0x80 642*3103084aSWang Jianjian - Enable a filesystem size of 2^64 blocks (INCOMPAT_64BIT). 6438a98ec7cSDarrick J. Wong * - 0x100 644*3103084aSWang Jianjian - Multiple mount protection (INCOMPAT_MMP). 6458a98ec7cSDarrick J. Wong * - 0x200 6468a98ec7cSDarrick J. Wong - Flexible block groups. See the earlier discussion of this feature 647*3103084aSWang Jianjian (INCOMPAT_FLEX_BG). 6488a98ec7cSDarrick J. Wong * - 0x400 6498a98ec7cSDarrick J. Wong - Inodes can be used to store large extended attribute values 650*3103084aSWang Jianjian (INCOMPAT_EA_INODE). 6518a98ec7cSDarrick J. Wong * - 0x1000 652*3103084aSWang Jianjian - Data in directory entry (INCOMPAT_DIRDATA). (Not implemented?) 6538a98ec7cSDarrick J. Wong * - 0x2000 6548a98ec7cSDarrick J. Wong - Metadata checksum seed is stored in the superblock. This feature enables 655*3103084aSWang Jianjian the administrator to change the UUID of a metadata_csum filesystem 6568a98ec7cSDarrick J. Wong while the filesystem is mounted; without it, the checksum definition 657*3103084aSWang Jianjian requires all metadata blocks to be rewritten (INCOMPAT_CSUM_SEED). 6588a98ec7cSDarrick J. Wong * - 0x4000 659*3103084aSWang Jianjian - Large directory >2GB or 3-level htree (INCOMPAT_LARGEDIR). Prior to 6608a98ec7cSDarrick J. Wong this feature, directories could not be larger than 4GiB and could not 6618a98ec7cSDarrick J. Wong have an htree more than 2 levels deep. If this feature is enabled, 6628a98ec7cSDarrick J. Wong directories can be larger than 4GiB and have a maximum htree depth of 3. 6638a98ec7cSDarrick J. Wong * - 0x8000 664*3103084aSWang Jianjian - Data in inode (INCOMPAT_INLINE_DATA). 6658a98ec7cSDarrick J. Wong * - 0x10000 666*3103084aSWang Jianjian - Encrypted inodes are present on the filesystem. (INCOMPAT_ENCRYPT). 6678a98ec7cSDarrick J. Wong 6688a98ec7cSDarrick J. Wong.. _super_rocompat: 6698a98ec7cSDarrick J. Wong 6708a98ec7cSDarrick J. WongThe superblock read-only compatible features field is a combination of any of 6718a98ec7cSDarrick J. Wongthe following: 6728a98ec7cSDarrick J. Wong 6738a98ec7cSDarrick J. Wong.. list-table:: 6748a98ec7cSDarrick J. Wong :widths: 16 64 6758a98ec7cSDarrick J. Wong :header-rows: 1 6768a98ec7cSDarrick J. Wong 6778a98ec7cSDarrick J. Wong * - Value 6788a98ec7cSDarrick J. Wong - Description 6798a98ec7cSDarrick J. Wong * - 0x1 6808a98ec7cSDarrick J. Wong - Sparse superblocks. See the earlier discussion of this feature 681*3103084aSWang Jianjian (RO_COMPAT_SPARSE_SUPER). 6828a98ec7cSDarrick J. Wong * - 0x2 6838a98ec7cSDarrick J. Wong - This filesystem has been used to store a file greater than 2GiB 684*3103084aSWang Jianjian (RO_COMPAT_LARGE_FILE). 6858a98ec7cSDarrick J. Wong * - 0x4 686*3103084aSWang Jianjian - Not used in kernel or e2fsprogs (RO_COMPAT_BTREE_DIR). 6878a98ec7cSDarrick J. Wong * - 0x8 6888a98ec7cSDarrick J. Wong - This filesystem has files whose sizes are represented in units of 6898a98ec7cSDarrick J. Wong logical blocks, not 512-byte sectors. This implies a very large file 690*3103084aSWang Jianjian indeed! (RO_COMPAT_HUGE_FILE) 6918a98ec7cSDarrick J. Wong * - 0x10 6928a98ec7cSDarrick J. Wong - Group descriptors have checksums. In addition to detecting corruption, 6938a98ec7cSDarrick J. Wong this is useful for lazy formatting with uninitialized groups 694*3103084aSWang Jianjian (RO_COMPAT_GDT_CSUM). 6958a98ec7cSDarrick J. Wong * - 0x20 6968a98ec7cSDarrick J. Wong - Indicates that the old ext3 32,000 subdirectory limit no longer applies 697*3103084aSWang Jianjian (RO_COMPAT_DIR_NLINK). A directory's i_links_count will be set to 1 6988a98ec7cSDarrick J. Wong if it is incremented past 64,999. 6998a98ec7cSDarrick J. Wong * - 0x40 7008a98ec7cSDarrick J. Wong - Indicates that large inodes exist on this filesystem 701*3103084aSWang Jianjian (RO_COMPAT_EXTRA_ISIZE). 7028a98ec7cSDarrick J. Wong * - 0x80 703*3103084aSWang Jianjian - This filesystem has a snapshot (RO_COMPAT_HAS_SNAPSHOT). 7048a98ec7cSDarrick J. Wong * - 0x100 705*3103084aSWang Jianjian - `Quota <Quota>`__ (RO_COMPAT_QUOTA). 7068a98ec7cSDarrick J. Wong * - 0x200 7078a98ec7cSDarrick J. Wong - This filesystem supports “bigalloc”, which means that file extents are 7088a98ec7cSDarrick J. Wong tracked in units of clusters (of blocks) instead of blocks 709*3103084aSWang Jianjian (RO_COMPAT_BIGALLOC). 7108a98ec7cSDarrick J. Wong * - 0x400 7118a98ec7cSDarrick J. Wong - This filesystem supports metadata checksumming. 712*3103084aSWang Jianjian (RO_COMPAT_METADATA_CSUM; implies RO_COMPAT_GDT_CSUM, though 713*3103084aSWang Jianjian GDT_CSUM must not be set) 7148a98ec7cSDarrick J. Wong * - 0x800 7158a98ec7cSDarrick J. Wong - Filesystem supports replicas. This feature is neither in the kernel nor 716*3103084aSWang Jianjian e2fsprogs. (RO_COMPAT_REPLICA) 7178a98ec7cSDarrick J. Wong * - 0x1000 7188a98ec7cSDarrick J. Wong - Read-only filesystem image; the kernel will not mount this image 7198a98ec7cSDarrick J. Wong read-write and most tools will refuse to write to the image. 720*3103084aSWang Jianjian (RO_COMPAT_READONLY) 7218a98ec7cSDarrick J. Wong * - 0x2000 722*3103084aSWang Jianjian - Filesystem tracks project quotas. (RO_COMPAT_PROJECT) 72384fb7ca4SEric Biggers * - 0x8000 724*3103084aSWang Jianjian - Verity inodes may be present on the filesystem. (RO_COMPAT_VERITY) 7253a6541e9SJan Kara * - 0x10000 7263a6541e9SJan Kara - Indicates orphan file may have valid orphan entries and thus we need 7273a6541e9SJan Kara to clean them up when mounting the filesystem 728*3103084aSWang Jianjian (RO_COMPAT_ORPHAN_PRESENT). 7298a98ec7cSDarrick J. Wong 7308a98ec7cSDarrick J. Wong.. _super_def_hash: 7318a98ec7cSDarrick J. Wong 7328a98ec7cSDarrick J. WongThe ``s_def_hash_version`` field is one of the following: 7338a98ec7cSDarrick J. Wong 7348a98ec7cSDarrick J. Wong.. list-table:: 7358a98ec7cSDarrick J. Wong :widths: 8 72 7368a98ec7cSDarrick J. Wong :header-rows: 1 7378a98ec7cSDarrick J. Wong 7388a98ec7cSDarrick J. Wong * - Value 7398a98ec7cSDarrick J. Wong - Description 7408a98ec7cSDarrick J. Wong * - 0x0 7418a98ec7cSDarrick J. Wong - Legacy. 7428a98ec7cSDarrick J. Wong * - 0x1 7438a98ec7cSDarrick J. Wong - Half MD4. 7448a98ec7cSDarrick J. Wong * - 0x2 7458a98ec7cSDarrick J. Wong - Tea. 7468a98ec7cSDarrick J. Wong * - 0x3 7478a98ec7cSDarrick J. Wong - Legacy, unsigned. 7488a98ec7cSDarrick J. Wong * - 0x4 7498a98ec7cSDarrick J. Wong - Half MD4, unsigned. 7508a98ec7cSDarrick J. Wong * - 0x5 7518a98ec7cSDarrick J. Wong - Tea, unsigned. 7528a98ec7cSDarrick J. Wong 7538a98ec7cSDarrick J. Wong.. _super_mountopts: 7548a98ec7cSDarrick J. Wong 7558a98ec7cSDarrick J. WongThe ``s_default_mount_opts`` field is any combination of the following: 7568a98ec7cSDarrick J. Wong 7578a98ec7cSDarrick J. Wong.. list-table:: 7588a98ec7cSDarrick J. Wong :widths: 8 72 7598a98ec7cSDarrick J. Wong :header-rows: 1 7608a98ec7cSDarrick J. Wong 7618a98ec7cSDarrick J. Wong * - Value 7628a98ec7cSDarrick J. Wong - Description 7638a98ec7cSDarrick J. Wong * - 0x0001 764*3103084aSWang Jianjian - Print debugging info upon (re)mount. (EXT4_DEFM_DEBUG) 7658a98ec7cSDarrick J. Wong * - 0x0002 7668a98ec7cSDarrick J. Wong - New files take the gid of the containing directory (instead of the fsgid 767*3103084aSWang Jianjian of the current process). (EXT4_DEFM_BSDGROUPS) 7688a98ec7cSDarrick J. Wong * - 0x0004 769*3103084aSWang Jianjian - Support userspace-provided extended attributes. (EXT4_DEFM_XATTR_USER) 7708a98ec7cSDarrick J. Wong * - 0x0008 771*3103084aSWang Jianjian - Support POSIX access control lists (ACLs). (EXT4_DEFM_ACL) 7728a98ec7cSDarrick J. Wong * - 0x0010 773*3103084aSWang Jianjian - Do not support 32-bit UIDs. (EXT4_DEFM_UID16) 7748a98ec7cSDarrick J. Wong * - 0x0020 7758a98ec7cSDarrick J. Wong - All data and metadata are commited to the journal. 776*3103084aSWang Jianjian (EXT4_DEFM_JMODE_DATA) 7778a98ec7cSDarrick J. Wong * - 0x0040 7788a98ec7cSDarrick J. Wong - All data are flushed to the disk before metadata are committed to the 779*3103084aSWang Jianjian journal. (EXT4_DEFM_JMODE_ORDERED) 7808a98ec7cSDarrick J. Wong * - 0x0060 7818a98ec7cSDarrick J. Wong - Data ordering is not preserved; data may be written after the metadata 782*3103084aSWang Jianjian has been written. (EXT4_DEFM_JMODE_WBACK) 7838a98ec7cSDarrick J. Wong * - 0x0100 784*3103084aSWang Jianjian - Disable write flushes. (EXT4_DEFM_NOBARRIER) 7858a98ec7cSDarrick J. Wong * - 0x0200 7868a98ec7cSDarrick J. Wong - Track which blocks in a filesystem are metadata and therefore should not 7878a98ec7cSDarrick J. Wong be used as data blocks. This option will be enabled by default on 3.18, 788*3103084aSWang Jianjian hopefully. (EXT4_DEFM_BLOCK_VALIDITY) 7898a98ec7cSDarrick J. Wong * - 0x0400 7908a98ec7cSDarrick J. Wong - Enable DISCARD support, where the storage device is told about blocks 791*3103084aSWang Jianjian becoming unused. (EXT4_DEFM_DISCARD) 7928a98ec7cSDarrick J. Wong * - 0x0800 793*3103084aSWang Jianjian - Disable delayed allocation. (EXT4_DEFM_NODELALLOC) 7948a98ec7cSDarrick J. Wong 7958a98ec7cSDarrick J. Wong.. _super_flags: 7968a98ec7cSDarrick J. Wong 7978a98ec7cSDarrick J. WongThe ``s_flags`` field is any combination of the following: 7988a98ec7cSDarrick J. Wong 7998a98ec7cSDarrick J. Wong.. list-table:: 8008a98ec7cSDarrick J. Wong :widths: 8 72 8018a98ec7cSDarrick J. Wong :header-rows: 1 8028a98ec7cSDarrick J. Wong 8038a98ec7cSDarrick J. Wong * - Value 8048a98ec7cSDarrick J. Wong - Description 8058a98ec7cSDarrick J. Wong * - 0x0001 8068a98ec7cSDarrick J. Wong - Signed directory hash in use. 8078a98ec7cSDarrick J. Wong * - 0x0002 8088a98ec7cSDarrick J. Wong - Unsigned directory hash in use. 8098a98ec7cSDarrick J. Wong * - 0x0004 8108a98ec7cSDarrick J. Wong - To test development code. 8118a98ec7cSDarrick J. Wong 8128a98ec7cSDarrick J. Wong.. _super_encrypt: 8138a98ec7cSDarrick J. Wong 8148a98ec7cSDarrick J. WongThe ``s_encrypt_algos`` list can contain any of the following: 8158a98ec7cSDarrick J. Wong 8168a98ec7cSDarrick J. Wong.. list-table:: 8178a98ec7cSDarrick J. Wong :widths: 8 72 8188a98ec7cSDarrick J. Wong :header-rows: 1 8198a98ec7cSDarrick J. Wong 8208a98ec7cSDarrick J. Wong * - Value 8218a98ec7cSDarrick J. Wong - Description 8228a98ec7cSDarrick J. Wong * - 0 823*3103084aSWang Jianjian - Invalid algorithm (ENCRYPTION_MODE_INVALID). 8248a98ec7cSDarrick J. Wong * - 1 825*3103084aSWang Jianjian - 256-bit AES in XTS mode (ENCRYPTION_MODE_AES_256_XTS). 8268a98ec7cSDarrick J. Wong * - 2 827*3103084aSWang Jianjian - 256-bit AES in GCM mode (ENCRYPTION_MODE_AES_256_GCM). 8288a98ec7cSDarrick J. Wong * - 3 829*3103084aSWang Jianjian - 256-bit AES in CBC mode (ENCRYPTION_MODE_AES_256_CBC). 8308a98ec7cSDarrick J. Wong 8318a98ec7cSDarrick J. WongTotal size of the superblock is 1024 bytes. 832