1 .. SPDX-License-Identifier: GPL-2.0 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 Super Block 3 Super Block 4 ----------- 4 ----------- 5 5 6 The superblock records various information abo 6 The superblock records various information about the enclosing 7 filesystem, such as block counts, inode counts 7 filesystem, such as block counts, inode counts, supported features, 8 maintenance information, and more. 8 maintenance information, and more. 9 9 10 If the sparse_super feature flag is set, redun 10 If the sparse_super feature flag is set, redundant copies of the 11 superblock and group descriptors are kept only 11 superblock and group descriptors are kept only in the groups whose group 12 number is either 0 or a power of 3, 5, or 7. I 12 number is either 0 or a power of 3, 5, or 7. If the flag is not set, 13 redundant copies are kept in all groups. 13 redundant copies are kept in all groups. 14 14 15 The superblock checksum is calculated against 15 The superblock checksum is calculated against the superblock structure, 16 which includes the FS UUID. 16 which includes the FS UUID. 17 17 18 The ext4 superblock is laid out as follows in 18 The ext4 superblock is laid out as follows in 19 ``struct ext4_super_block``: 19 ``struct ext4_super_block``: 20 20 21 .. list-table:: 21 .. list-table:: 22 :widths: 8 8 24 40 22 :widths: 8 8 24 40 23 :header-rows: 1 23 :header-rows: 1 24 24 25 * - Offset 25 * - Offset 26 - Size 26 - Size 27 - Name 27 - Name 28 - Description 28 - Description 29 * - 0x0 29 * - 0x0 30 - __le32 30 - __le32 31 - s_inodes_count 31 - s_inodes_count 32 - Total inode count. 32 - Total inode count. 33 * - 0x4 33 * - 0x4 34 - __le32 34 - __le32 35 - s_blocks_count_lo 35 - s_blocks_count_lo 36 - Total block count. 36 - Total block count. 37 * - 0x8 37 * - 0x8 38 - __le32 38 - __le32 39 - s_r_blocks_count_lo 39 - s_r_blocks_count_lo 40 - This number of blocks can only be alloc 40 - This number of blocks can only be allocated by the super-user. 41 * - 0xC 41 * - 0xC 42 - __le32 42 - __le32 43 - s_free_blocks_count_lo 43 - s_free_blocks_count_lo 44 - Free block count. 44 - Free block count. 45 * - 0x10 45 * - 0x10 46 - __le32 46 - __le32 47 - s_free_inodes_count 47 - s_free_inodes_count 48 - Free inode count. 48 - Free inode count. 49 * - 0x14 49 * - 0x14 50 - __le32 50 - __le32 51 - s_first_data_block 51 - s_first_data_block 52 - First data block. This must be at least 52 - First data block. This must be at least 1 for 1k-block filesystems and 53 is typically 0 for all other block size 53 is typically 0 for all other block sizes. 54 * - 0x18 54 * - 0x18 55 - __le32 55 - __le32 56 - s_log_block_size 56 - s_log_block_size 57 - Block size is 2 ^ (10 + s_log_block_siz 57 - Block size is 2 ^ (10 + s_log_block_size). 58 * - 0x1C 58 * - 0x1C 59 - __le32 59 - __le32 60 - s_log_cluster_size 60 - s_log_cluster_size 61 - Cluster size is 2 ^ (10 + s_log_cluster 61 - Cluster size is 2 ^ (10 + s_log_cluster_size) blocks if bigalloc is 62 enabled. Otherwise s_log_cluster_size m 62 enabled. Otherwise s_log_cluster_size must equal s_log_block_size. 63 * - 0x20 63 * - 0x20 64 - __le32 64 - __le32 65 - s_blocks_per_group 65 - s_blocks_per_group 66 - Blocks per group. 66 - Blocks per group. 67 * - 0x24 67 * - 0x24 68 - __le32 68 - __le32 69 - s_clusters_per_group 69 - s_clusters_per_group 70 - Clusters per group, if bigalloc is enab 70 - Clusters per group, if bigalloc is enabled. Otherwise 71 s_clusters_per_group must equal s_block 71 s_clusters_per_group must equal s_blocks_per_group. 72 * - 0x28 72 * - 0x28 73 - __le32 73 - __le32 74 - s_inodes_per_group 74 - s_inodes_per_group 75 - Inodes per group. 75 - Inodes per group. 76 * - 0x2C 76 * - 0x2C 77 - __le32 77 - __le32 78 - s_mtime 78 - s_mtime 79 - Mount time, in seconds since the epoch. 79 - Mount time, in seconds since the epoch. 80 * - 0x30 80 * - 0x30 81 - __le32 81 - __le32 82 - s_wtime 82 - s_wtime 83 - Write time, in seconds since the epoch. 83 - Write time, in seconds since the epoch. 84 * - 0x34 84 * - 0x34 85 - __le16 85 - __le16 86 - s_mnt_count 86 - s_mnt_count 87 - Number of mounts since the last fsck. 87 - Number of mounts since the last fsck. 88 * - 0x36 88 * - 0x36 89 - __le16 89 - __le16 90 - s_max_mnt_count 90 - s_max_mnt_count 91 - Number of mounts beyond which a fsck is 91 - Number of mounts beyond which a fsck is needed. 92 * - 0x38 92 * - 0x38 93 - __le16 93 - __le16 94 - s_magic 94 - s_magic 95 - Magic signature, 0xEF53 95 - Magic signature, 0xEF53 96 * - 0x3A 96 * - 0x3A 97 - __le16 97 - __le16 98 - s_state 98 - s_state 99 - File system state. See super_state_ for 99 - File system state. See super_state_ for more info. 100 * - 0x3C 100 * - 0x3C 101 - __le16 101 - __le16 102 - s_errors 102 - s_errors 103 - Behaviour when detecting errors. See su 103 - Behaviour when detecting errors. See super_errors_ for more info. 104 * - 0x3E 104 * - 0x3E 105 - __le16 105 - __le16 106 - s_minor_rev_level 106 - s_minor_rev_level 107 - Minor revision level. 107 - Minor revision level. 108 * - 0x40 108 * - 0x40 109 - __le32 109 - __le32 110 - s_lastcheck 110 - s_lastcheck 111 - Time of last check, in seconds since th 111 - Time of last check, in seconds since the epoch. 112 * - 0x44 112 * - 0x44 113 - __le32 113 - __le32 114 - s_checkinterval 114 - s_checkinterval 115 - Maximum time between checks, in seconds 115 - Maximum time between checks, in seconds. 116 * - 0x48 116 * - 0x48 117 - __le32 117 - __le32 118 - s_creator_os 118 - s_creator_os 119 - Creator OS. See the table super_creator 119 - Creator OS. See the table super_creator_ for more info. 120 * - 0x4C 120 * - 0x4C 121 - __le32 121 - __le32 122 - s_rev_level 122 - s_rev_level 123 - Revision level. See the table super_rev 123 - Revision level. See the table super_revision_ for more info. 124 * - 0x50 124 * - 0x50 125 - __le16 125 - __le16 126 - s_def_resuid 126 - s_def_resuid 127 - Default uid for reserved blocks. 127 - Default uid for reserved blocks. 128 * - 0x52 128 * - 0x52 129 - __le16 129 - __le16 130 - s_def_resgid 130 - s_def_resgid 131 - Default gid for reserved blocks. 131 - Default gid for reserved blocks. 132 * - 132 * - 133 - 133 - 134 - 134 - 135 - These fields are for EXT4_DYNAMIC_REV s 135 - These fields are for EXT4_DYNAMIC_REV superblocks only. 136 136 137 Note: the difference between the compat 137 Note: the difference between the compatible feature set and the 138 incompatible feature set is that if the 138 incompatible feature set is that if there is a bit set in the 139 incompatible feature set that the kerne 139 incompatible feature set that the kernel doesn't know about, it should 140 refuse to mount the filesystem. 140 refuse to mount the filesystem. 141 141 142 e2fsck's requirements are more strict; 142 e2fsck's requirements are more strict; if it doesn't know 143 about a feature in either the compatibl 143 about a feature in either the compatible or incompatible feature set, it 144 must abort and not try to meddle with t 144 must abort and not try to meddle with things it doesn't understand... 145 * - 0x54 145 * - 0x54 146 - __le32 146 - __le32 147 - s_first_ino 147 - s_first_ino 148 - First non-reserved inode. 148 - First non-reserved inode. 149 * - 0x58 149 * - 0x58 150 - __le16 150 - __le16 151 - s_inode_size 151 - s_inode_size 152 - Size of inode structure, in bytes. 152 - Size of inode structure, in bytes. 153 * - 0x5A 153 * - 0x5A 154 - __le16 154 - __le16 155 - s_block_group_nr 155 - s_block_group_nr 156 - Block group # of this superblock. 156 - Block group # of this superblock. 157 * - 0x5C 157 * - 0x5C 158 - __le32 158 - __le32 159 - s_feature_compat 159 - s_feature_compat 160 - Compatible feature set flags. Kernel ca 160 - Compatible feature set flags. Kernel can still read/write this fs even 161 if it doesn't understand a flag; fsck s 161 if it doesn't understand a flag; fsck should not do that. See the 162 super_compat_ table for more info. 162 super_compat_ table for more info. 163 * - 0x60 163 * - 0x60 164 - __le32 164 - __le32 165 - s_feature_incompat 165 - s_feature_incompat 166 - Incompatible feature set. If the kernel 166 - Incompatible feature set. If the kernel or fsck doesn't understand one 167 of these bits, it should stop. See the 167 of these bits, it should stop. See the super_incompat_ table for more 168 info. 168 info. 169 * - 0x64 169 * - 0x64 170 - __le32 170 - __le32 171 - s_feature_ro_compat 171 - s_feature_ro_compat 172 - Readonly-compatible feature set. If the 172 - Readonly-compatible feature set. If the kernel doesn't understand one of 173 these bits, it can still mount read-onl 173 these bits, it can still mount read-only. See the super_rocompat_ table 174 for more info. 174 for more info. 175 * - 0x68 175 * - 0x68 176 - __u8 176 - __u8 177 - s_uuid[16] 177 - s_uuid[16] 178 - 128-bit UUID for volume. 178 - 128-bit UUID for volume. 179 * - 0x78 179 * - 0x78 180 - char 180 - char 181 - s_volume_name[16] 181 - s_volume_name[16] 182 - Volume label. 182 - Volume label. 183 * - 0x88 183 * - 0x88 184 - char 184 - char 185 - s_last_mounted[64] 185 - s_last_mounted[64] 186 - Directory where filesystem was last mou 186 - Directory where filesystem was last mounted. 187 * - 0xC8 187 * - 0xC8 188 - __le32 188 - __le32 189 - s_algorithm_usage_bitmap 189 - s_algorithm_usage_bitmap 190 - For compression (Not used in e2fsprogs/ 190 - For compression (Not used in e2fsprogs/Linux) 191 * - 191 * - 192 - 192 - 193 - 193 - 194 - Performance hints. Directory prealloca 194 - Performance hints. Directory preallocation should only happen if the 195 EXT4_FEATURE_COMPAT_DIR_PREALLOC flag i 195 EXT4_FEATURE_COMPAT_DIR_PREALLOC flag is on. 196 * - 0xCC 196 * - 0xCC 197 - __u8 197 - __u8 198 - s_prealloc_blocks 198 - s_prealloc_blocks 199 - #. of blocks to try to preallocate for 199 - #. of blocks to try to preallocate for ... files? (Not used in 200 e2fsprogs/Linux) 200 e2fsprogs/Linux) 201 * - 0xCD 201 * - 0xCD 202 - __u8 202 - __u8 203 - s_prealloc_dir_blocks 203 - s_prealloc_dir_blocks 204 - #. of blocks to preallocate for directo 204 - #. of blocks to preallocate for directories. (Not used in 205 e2fsprogs/Linux) 205 e2fsprogs/Linux) 206 * - 0xCE 206 * - 0xCE 207 - __le16 207 - __le16 208 - s_reserved_gdt_blocks 208 - s_reserved_gdt_blocks 209 - Number of reserved GDT entries for futu 209 - Number of reserved GDT entries for future filesystem expansion. 210 * - 210 * - 211 - 211 - 212 - 212 - 213 - Journalling support is valid only if EX 213 - Journalling support is valid only if EXT4_FEATURE_COMPAT_HAS_JOURNAL is 214 set. 214 set. 215 * - 0xD0 215 * - 0xD0 216 - __u8 216 - __u8 217 - s_journal_uuid[16] 217 - s_journal_uuid[16] 218 - UUID of journal superblock 218 - UUID of journal superblock 219 * - 0xE0 219 * - 0xE0 220 - __le32 220 - __le32 221 - s_journal_inum 221 - s_journal_inum 222 - inode number of journal file. 222 - inode number of journal file. 223 * - 0xE4 223 * - 0xE4 224 - __le32 224 - __le32 225 - s_journal_dev 225 - s_journal_dev 226 - Device number of journal file, if the e 226 - Device number of journal file, if the external journal feature flag is 227 set. 227 set. 228 * - 0xE8 228 * - 0xE8 229 - __le32 229 - __le32 230 - s_last_orphan 230 - s_last_orphan 231 - Start of list of orphaned inodes to del 231 - Start of list of orphaned inodes to delete. 232 * - 0xEC 232 * - 0xEC 233 - __le32 233 - __le32 234 - s_hash_seed[4] 234 - s_hash_seed[4] 235 - HTREE hash seed. 235 - HTREE hash seed. 236 * - 0xFC 236 * - 0xFC 237 - __u8 237 - __u8 238 - s_def_hash_version 238 - s_def_hash_version 239 - Default hash algorithm to use for direc 239 - Default hash algorithm to use for directory hashes. See super_def_hash_ 240 for more info. 240 for more info. 241 * - 0xFD 241 * - 0xFD 242 - __u8 242 - __u8 243 - s_jnl_backup_type 243 - s_jnl_backup_type 244 - If this value is 0 or EXT3_JNL_BACKUP_B 244 - If this value is 0 or EXT3_JNL_BACKUP_BLOCKS (1), then the 245 ``s_jnl_blocks`` field contains a dupli 245 ``s_jnl_blocks`` field contains a duplicate copy of the inode's 246 ``i_block[]`` array and ``i_size``. 246 ``i_block[]`` array and ``i_size``. 247 * - 0xFE 247 * - 0xFE 248 - __le16 248 - __le16 249 - s_desc_size 249 - s_desc_size 250 - Size of group descriptors, in bytes, if 250 - Size of group descriptors, in bytes, if the 64bit incompat feature flag 251 is set. 251 is set. 252 * - 0x100 252 * - 0x100 253 - __le32 253 - __le32 254 - s_default_mount_opts 254 - s_default_mount_opts 255 - Default mount options. See the super_mo 255 - Default mount options. See the super_mountopts_ table for more info. 256 * - 0x104 256 * - 0x104 257 - __le32 257 - __le32 258 - s_first_meta_bg 258 - s_first_meta_bg 259 - First metablock block group, if the met 259 - First metablock block group, if the meta_bg feature is enabled. 260 * - 0x108 260 * - 0x108 261 - __le32 261 - __le32 262 - s_mkfs_time 262 - s_mkfs_time 263 - When the filesystem was created, in sec 263 - When the filesystem was created, in seconds since the epoch. 264 * - 0x10C 264 * - 0x10C 265 - __le32 265 - __le32 266 - s_jnl_blocks[17] 266 - s_jnl_blocks[17] 267 - Backup copy of the journal inode's ``i_ 267 - Backup copy of the journal inode's ``i_block[]`` array in the first 15 268 elements and i_size_high and i_size in 268 elements and i_size_high and i_size in the 16th and 17th elements, 269 respectively. 269 respectively. 270 * - 270 * - 271 - 271 - 272 - 272 - 273 - 64bit support is valid only if EXT4_FEA 273 - 64bit support is valid only if EXT4_FEATURE_COMPAT_64BIT is set. 274 * - 0x150 274 * - 0x150 275 - __le32 275 - __le32 276 - s_blocks_count_hi 276 - s_blocks_count_hi 277 - High 32-bits of the block count. 277 - High 32-bits of the block count. 278 * - 0x154 278 * - 0x154 279 - __le32 279 - __le32 280 - s_r_blocks_count_hi 280 - s_r_blocks_count_hi 281 - High 32-bits of the reserved block coun 281 - High 32-bits of the reserved block count. 282 * - 0x158 282 * - 0x158 283 - __le32 283 - __le32 284 - s_free_blocks_count_hi 284 - s_free_blocks_count_hi 285 - High 32-bits of the free block count. 285 - High 32-bits of the free block count. 286 * - 0x15C 286 * - 0x15C 287 - __le16 287 - __le16 288 - s_min_extra_isize 288 - s_min_extra_isize 289 - All inodes have at least # bytes. 289 - All inodes have at least # bytes. 290 * - 0x15E 290 * - 0x15E 291 - __le16 291 - __le16 292 - s_want_extra_isize 292 - s_want_extra_isize 293 - New inodes should reserve # bytes. 293 - New inodes should reserve # bytes. 294 * - 0x160 294 * - 0x160 295 - __le32 295 - __le32 296 - s_flags 296 - s_flags 297 - Miscellaneous flags. See the super_flag 297 - Miscellaneous flags. See the super_flags_ table for more info. 298 * - 0x164 298 * - 0x164 299 - __le16 299 - __le16 300 - s_raid_stride 300 - s_raid_stride 301 - RAID stride. This is the number of logi 301 - RAID stride. This is the number of logical blocks read from or written 302 to the disk before moving to the next d 302 to the disk before moving to the next disk. This affects the placement 303 of filesystem metadata, which will hope 303 of filesystem metadata, which will hopefully make RAID storage faster. 304 * - 0x166 304 * - 0x166 305 - __le16 305 - __le16 306 - s_mmp_interval 306 - s_mmp_interval 307 - #. seconds to wait in multi-mount preve 307 - #. seconds to wait in multi-mount prevention (MMP) checking. In theory, 308 MMP is a mechanism to record in the sup 308 MMP is a mechanism to record in the superblock which host and device 309 have mounted the filesystem, in order t 309 have mounted the filesystem, in order to prevent multiple mounts. This 310 feature does not seem to be implemented 310 feature does not seem to be implemented... 311 * - 0x168 311 * - 0x168 312 - __le64 312 - __le64 313 - s_mmp_block 313 - s_mmp_block 314 - Block # for multi-mount protection data 314 - Block # for multi-mount protection data. 315 * - 0x170 315 * - 0x170 316 - __le32 316 - __le32 317 - s_raid_stripe_width 317 - s_raid_stripe_width 318 - RAID stripe width. This is the number o 318 - RAID stripe width. This is the number of logical blocks read from or 319 written to the disk before coming back 319 written to the disk before coming back to the current disk. This is used 320 by the block allocator to try to reduce 320 by the block allocator to try to reduce the number of read-modify-write 321 operations in a RAID5/6. 321 operations in a RAID5/6. 322 * - 0x174 322 * - 0x174 323 - __u8 323 - __u8 324 - s_log_groups_per_flex 324 - s_log_groups_per_flex 325 - Size of a flexible block group is 2 ^ ` 325 - Size of a flexible block group is 2 ^ ``s_log_groups_per_flex``. 326 * - 0x175 326 * - 0x175 327 - __u8 327 - __u8 328 - s_checksum_type 328 - s_checksum_type 329 - Metadata checksum algorithm type. The o 329 - Metadata checksum algorithm type. The only valid value is 1 (crc32c). 330 * - 0x176 330 * - 0x176 331 - __le16 331 - __le16 332 - s_reserved_pad 332 - s_reserved_pad 333 - 333 - 334 * - 0x178 334 * - 0x178 335 - __le64 335 - __le64 336 - s_kbytes_written 336 - s_kbytes_written 337 - Number of KiB written to this filesyste 337 - Number of KiB written to this filesystem over its lifetime. 338 * - 0x180 338 * - 0x180 339 - __le32 339 - __le32 340 - s_snapshot_inum 340 - s_snapshot_inum 341 - inode number of active snapshot. (Not u 341 - inode number of active snapshot. (Not used in e2fsprogs/Linux.) 342 * - 0x184 342 * - 0x184 343 - __le32 343 - __le32 344 - s_snapshot_id 344 - s_snapshot_id 345 - Sequential ID of active snapshot. (Not 345 - Sequential ID of active snapshot. (Not used in e2fsprogs/Linux.) 346 * - 0x188 346 * - 0x188 347 - __le64 347 - __le64 348 - s_snapshot_r_blocks_count 348 - s_snapshot_r_blocks_count 349 - Number of blocks reserved for active sn 349 - Number of blocks reserved for active snapshot's future use. (Not used in 350 e2fsprogs/Linux.) 350 e2fsprogs/Linux.) 351 * - 0x190 351 * - 0x190 352 - __le32 352 - __le32 353 - s_snapshot_list 353 - s_snapshot_list 354 - inode number of the head of the on-disk 354 - inode number of the head of the on-disk snapshot list. (Not used in 355 e2fsprogs/Linux.) 355 e2fsprogs/Linux.) 356 * - 0x194 356 * - 0x194 357 - __le32 357 - __le32 358 - s_error_count 358 - s_error_count 359 - Number of errors seen. 359 - Number of errors seen. 360 * - 0x198 360 * - 0x198 361 - __le32 361 - __le32 362 - s_first_error_time 362 - s_first_error_time 363 - First time an error happened, in second 363 - First time an error happened, in seconds since the epoch. 364 * - 0x19C 364 * - 0x19C 365 - __le32 365 - __le32 366 - s_first_error_ino 366 - s_first_error_ino 367 - inode involved in first error. 367 - inode involved in first error. 368 * - 0x1A0 368 * - 0x1A0 369 - __le64 369 - __le64 370 - s_first_error_block 370 - s_first_error_block 371 - Number of block involved of first error 371 - Number of block involved of first error. 372 * - 0x1A8 372 * - 0x1A8 373 - __u8 373 - __u8 374 - s_first_error_func[32] 374 - s_first_error_func[32] 375 - Name of function where the error happen 375 - Name of function where the error happened. 376 * - 0x1C8 376 * - 0x1C8 377 - __le32 377 - __le32 378 - s_first_error_line 378 - s_first_error_line 379 - Line number where error happened. 379 - Line number where error happened. 380 * - 0x1CC 380 * - 0x1CC 381 - __le32 381 - __le32 382 - s_last_error_time 382 - s_last_error_time 383 - Time of most recent error, in seconds s 383 - Time of most recent error, in seconds since the epoch. 384 * - 0x1D0 384 * - 0x1D0 385 - __le32 385 - __le32 386 - s_last_error_ino 386 - s_last_error_ino 387 - inode involved in most recent error. 387 - inode involved in most recent error. 388 * - 0x1D4 388 * - 0x1D4 389 - __le32 389 - __le32 390 - s_last_error_line 390 - s_last_error_line 391 - Line number where most recent error hap 391 - Line number where most recent error happened. 392 * - 0x1D8 392 * - 0x1D8 393 - __le64 393 - __le64 394 - s_last_error_block 394 - s_last_error_block 395 - Number of block involved in most recent 395 - Number of block involved in most recent error. 396 * - 0x1E0 396 * - 0x1E0 397 - __u8 397 - __u8 398 - s_last_error_func[32] 398 - s_last_error_func[32] 399 - Name of function where the most recent 399 - Name of function where the most recent error happened. 400 * - 0x200 400 * - 0x200 401 - __u8 401 - __u8 402 - s_mount_opts[64] 402 - s_mount_opts[64] 403 - ASCIIZ string of mount options. 403 - ASCIIZ string of mount options. 404 * - 0x240 404 * - 0x240 405 - __le32 405 - __le32 406 - s_usr_quota_inum 406 - s_usr_quota_inum 407 - Inode number of user `quota <quota>`__ 407 - Inode number of user `quota <quota>`__ file. 408 * - 0x244 408 * - 0x244 409 - __le32 409 - __le32 410 - s_grp_quota_inum 410 - s_grp_quota_inum 411 - Inode number of group `quota <quota>`__ 411 - Inode number of group `quota <quota>`__ file. 412 * - 0x248 412 * - 0x248 413 - __le32 413 - __le32 414 - s_overhead_blocks 414 - s_overhead_blocks 415 - Overhead blocks/clusters in fs. (Huh? T 415 - Overhead blocks/clusters in fs. (Huh? This field is always zero, which 416 means that the kernel calculates it dyn 416 means that the kernel calculates it dynamically.) 417 * - 0x24C 417 * - 0x24C 418 - __le32 418 - __le32 419 - s_backup_bgs[2] 419 - s_backup_bgs[2] 420 - Block groups containing superblock back 420 - Block groups containing superblock backups (if sparse_super2) 421 * - 0x254 421 * - 0x254 422 - __u8 422 - __u8 423 - s_encrypt_algos[4] 423 - s_encrypt_algos[4] 424 - Encryption algorithms in use. There can 424 - Encryption algorithms in use. There can be up to four algorithms in use 425 at any time; valid algorithm codes are 425 at any time; valid algorithm codes are given in the super_encrypt_ table 426 below. 426 below. 427 * - 0x258 427 * - 0x258 428 - __u8 428 - __u8 429 - s_encrypt_pw_salt[16] 429 - s_encrypt_pw_salt[16] 430 - Salt for the string2key algorithm for e 430 - Salt for the string2key algorithm for encryption. 431 * - 0x268 431 * - 0x268 432 - __le32 432 - __le32 433 - s_lpf_ino 433 - s_lpf_ino 434 - Inode number of lost+found 434 - Inode number of lost+found 435 * - 0x26C 435 * - 0x26C 436 - __le32 436 - __le32 437 - s_prj_quota_inum 437 - s_prj_quota_inum 438 - Inode that tracks project quotas. 438 - Inode that tracks project quotas. 439 * - 0x270 439 * - 0x270 440 - __le32 440 - __le32 441 - s_checksum_seed 441 - s_checksum_seed 442 - Checksum seed used for metadata_csum ca 442 - Checksum seed used for metadata_csum calculations. This value is 443 crc32c(~0, $orig_fs_uuid). 443 crc32c(~0, $orig_fs_uuid). 444 * - 0x274 444 * - 0x274 445 - __u8 445 - __u8 446 - s_wtime_hi 446 - s_wtime_hi 447 - Upper 8 bits of the s_wtime field. 447 - Upper 8 bits of the s_wtime field. 448 * - 0x275 448 * - 0x275 449 - __u8 449 - __u8 450 - s_mtime_hi 450 - s_mtime_hi 451 - Upper 8 bits of the s_mtime field. 451 - Upper 8 bits of the s_mtime field. 452 * - 0x276 452 * - 0x276 453 - __u8 453 - __u8 454 - s_mkfs_time_hi 454 - s_mkfs_time_hi 455 - Upper 8 bits of the s_mkfs_time field. 455 - Upper 8 bits of the s_mkfs_time field. 456 * - 0x277 456 * - 0x277 457 - __u8 457 - __u8 458 - s_lastcheck_hi 458 - s_lastcheck_hi 459 - Upper 8 bits of the s_lastcheck field. !! 459 - Upper 8 bits of the s_lastcheck_hi field. 460 * - 0x278 460 * - 0x278 461 - __u8 461 - __u8 462 - s_first_error_time_hi 462 - s_first_error_time_hi 463 - Upper 8 bits of the s_first_error_time !! 463 - Upper 8 bits of the s_first_error_time_hi field. 464 * - 0x279 464 * - 0x279 465 - __u8 465 - __u8 466 - s_last_error_time_hi 466 - s_last_error_time_hi 467 - Upper 8 bits of the s_last_error_time f !! 467 - Upper 8 bits of the s_last_error_time_hi field. 468 * - 0x27A 468 * - 0x27A 469 - __u8 469 - __u8 470 - s_pad[2] 470 - s_pad[2] 471 - Zero padding. 471 - Zero padding. 472 * - 0x27C 472 * - 0x27C 473 - __le16 473 - __le16 474 - s_encoding 474 - s_encoding 475 - Filename charset encoding. 475 - Filename charset encoding. 476 * - 0x27E 476 * - 0x27E 477 - __le16 477 - __le16 478 - s_encoding_flags 478 - s_encoding_flags 479 - Filename charset encoding flags. 479 - Filename charset encoding flags. 480 * - 0x280 480 * - 0x280 481 - __le32 481 - __le32 482 - s_orphan_file_inum 482 - s_orphan_file_inum 483 - Orphan file inode number. 483 - Orphan file inode number. 484 * - 0x284 484 * - 0x284 485 - __le32 485 - __le32 486 - s_reserved[94] 486 - s_reserved[94] 487 - Padding to the end of the block. 487 - Padding to the end of the block. 488 * - 0x3FC 488 * - 0x3FC 489 - __le32 489 - __le32 490 - s_checksum 490 - s_checksum 491 - Superblock checksum. 491 - Superblock checksum. 492 492 493 .. _super_state: 493 .. _super_state: 494 494 495 The superblock state is some combination of th 495 The superblock state is some combination of the following: 496 496 497 .. list-table:: 497 .. list-table:: 498 :widths: 8 72 498 :widths: 8 72 499 :header-rows: 1 499 :header-rows: 1 500 500 501 * - Value 501 * - Value 502 - Description 502 - Description 503 * - 0x0001 503 * - 0x0001 504 - Cleanly umounted 504 - Cleanly umounted 505 * - 0x0002 505 * - 0x0002 506 - Errors detected 506 - Errors detected 507 * - 0x0004 507 * - 0x0004 508 - Orphans being recovered 508 - Orphans being recovered 509 509 510 .. _super_errors: 510 .. _super_errors: 511 511 512 The superblock error policy is one of the foll 512 The superblock error policy is one of the following: 513 513 514 .. list-table:: 514 .. list-table:: 515 :widths: 8 72 515 :widths: 8 72 516 :header-rows: 1 516 :header-rows: 1 517 517 518 * - Value 518 * - Value 519 - Description 519 - Description 520 * - 1 520 * - 1 521 - Continue 521 - Continue 522 * - 2 522 * - 2 523 - Remount read-only 523 - Remount read-only 524 * - 3 524 * - 3 525 - Panic 525 - Panic 526 526 527 .. _super_creator: 527 .. _super_creator: 528 528 529 The filesystem creator is one of the following 529 The filesystem creator is one of the following: 530 530 531 .. list-table:: 531 .. list-table:: 532 :widths: 8 72 532 :widths: 8 72 533 :header-rows: 1 533 :header-rows: 1 534 534 535 * - Value 535 * - Value 536 - Description 536 - Description 537 * - 0 537 * - 0 538 - Linux 538 - Linux 539 * - 1 539 * - 1 540 - Hurd 540 - Hurd 541 * - 2 541 * - 2 542 - Masix 542 - Masix 543 * - 3 543 * - 3 544 - FreeBSD 544 - FreeBSD 545 * - 4 545 * - 4 546 - Lites 546 - Lites 547 547 548 .. _super_revision: 548 .. _super_revision: 549 549 550 The superblock revision is one of the followin 550 The superblock revision is one of the following: 551 551 552 .. list-table:: 552 .. list-table:: 553 :widths: 8 72 553 :widths: 8 72 554 :header-rows: 1 554 :header-rows: 1 555 555 556 * - Value 556 * - Value 557 - Description 557 - Description 558 * - 0 558 * - 0 559 - Original format 559 - Original format 560 * - 1 560 * - 1 561 - v2 format w/ dynamic inode sizes 561 - v2 format w/ dynamic inode sizes 562 562 563 Note that ``EXT4_DYNAMIC_REV`` refers to a rev 563 Note that ``EXT4_DYNAMIC_REV`` refers to a revision 1 or newer filesystem. 564 564 565 .. _super_compat: 565 .. _super_compat: 566 566 567 The superblock compatible features field is a 567 The superblock compatible features field is a combination of any of the 568 following: 568 following: 569 569 570 .. list-table:: 570 .. list-table:: 571 :widths: 16 64 571 :widths: 16 64 572 :header-rows: 1 572 :header-rows: 1 573 573 574 * - Value 574 * - Value 575 - Description 575 - Description 576 * - 0x1 576 * - 0x1 577 - Directory preallocation (COMPAT_DIR_PRE 577 - Directory preallocation (COMPAT_DIR_PREALLOC). 578 * - 0x2 578 * - 0x2 579 - “imagic inodes”. Not clear from the 579 - “imagic inodes”. Not clear from the code what this does 580 (COMPAT_IMAGIC_INODES). 580 (COMPAT_IMAGIC_INODES). 581 * - 0x4 581 * - 0x4 582 - Has a journal (COMPAT_HAS_JOURNAL). 582 - Has a journal (COMPAT_HAS_JOURNAL). 583 * - 0x8 583 * - 0x8 584 - Supports extended attributes (COMPAT_EX 584 - Supports extended attributes (COMPAT_EXT_ATTR). 585 * - 0x10 585 * - 0x10 586 - Has reserved GDT blocks for filesystem 586 - Has reserved GDT blocks for filesystem expansion 587 (COMPAT_RESIZE_INODE). Requires RO_COMP 587 (COMPAT_RESIZE_INODE). Requires RO_COMPAT_SPARSE_SUPER. 588 * - 0x20 588 * - 0x20 589 - Has directory indices (COMPAT_DIR_INDEX 589 - Has directory indices (COMPAT_DIR_INDEX). 590 * - 0x40 590 * - 0x40 591 - “Lazy BG”. Not in Linux kernel, see 591 - “Lazy BG”. Not in Linux kernel, seems to have been for uninitialized 592 block groups? (COMPAT_LAZY_BG) 592 block groups? (COMPAT_LAZY_BG) 593 * - 0x80 593 * - 0x80 594 - “Exclude inode”. Not used. (COMPAT_ 594 - “Exclude inode”. Not used. (COMPAT_EXCLUDE_INODE). 595 * - 0x100 595 * - 0x100 596 - “Exclude bitmap”. Seems to be used 596 - “Exclude bitmap”. Seems to be used to indicate the presence of 597 snapshot-related exclude bitmaps? Not d 597 snapshot-related exclude bitmaps? Not defined in kernel or used in 598 e2fsprogs (COMPAT_EXCLUDE_BITMAP). 598 e2fsprogs (COMPAT_EXCLUDE_BITMAP). 599 * - 0x200 599 * - 0x200 600 - Sparse Super Block, v2. If this flag is 600 - Sparse Super Block, v2. If this flag is set, the SB field s_backup_bgs 601 points to the two block groups that con 601 points to the two block groups that contain backup superblocks 602 (COMPAT_SPARSE_SUPER2). 602 (COMPAT_SPARSE_SUPER2). 603 * - 0x400 603 * - 0x400 604 - Fast commits supported. Although fast c 604 - Fast commits supported. Although fast commits blocks are 605 backward incompatible, fast commit bloc 605 backward incompatible, fast commit blocks are not always 606 present in the journal. If fast commit 606 present in the journal. If fast commit blocks are present in 607 the journal, JBD2 incompat feature 607 the journal, JBD2 incompat feature 608 (JBD2_FEATURE_INCOMPAT_FAST_COMMIT) get 608 (JBD2_FEATURE_INCOMPAT_FAST_COMMIT) gets 609 set (COMPAT_FAST_COMMIT). 609 set (COMPAT_FAST_COMMIT). 610 * - 0x1000 610 * - 0x1000 611 - Orphan file allocated. This is the spec 611 - Orphan file allocated. This is the special file for more efficient 612 tracking of unlinked but still open ino 612 tracking of unlinked but still open inodes. When there may be any 613 entries in the file, we additionally se 613 entries in the file, we additionally set proper rocompat feature 614 (RO_COMPAT_ORPHAN_PRESENT). 614 (RO_COMPAT_ORPHAN_PRESENT). 615 615 616 .. _super_incompat: 616 .. _super_incompat: 617 617 618 The superblock incompatible features field is 618 The superblock incompatible features field is a combination of any of the 619 following: 619 following: 620 620 621 .. list-table:: 621 .. list-table:: 622 :widths: 16 64 622 :widths: 16 64 623 :header-rows: 1 623 :header-rows: 1 624 624 625 * - Value 625 * - Value 626 - Description 626 - Description 627 * - 0x1 627 * - 0x1 628 - Compression (INCOMPAT_COMPRESSION). 628 - Compression (INCOMPAT_COMPRESSION). 629 * - 0x2 629 * - 0x2 630 - Directory entries record the file type. 630 - Directory entries record the file type. See ext4_dir_entry_2 below 631 (INCOMPAT_FILETYPE). 631 (INCOMPAT_FILETYPE). 632 * - 0x4 632 * - 0x4 633 - Filesystem needs recovery (INCOMPAT_REC 633 - Filesystem needs recovery (INCOMPAT_RECOVER). 634 * - 0x8 634 * - 0x8 635 - Filesystem has a separate journal devic 635 - Filesystem has a separate journal device (INCOMPAT_JOURNAL_DEV). 636 * - 0x10 636 * - 0x10 637 - Meta block groups. See the earlier disc 637 - Meta block groups. See the earlier discussion of this feature 638 (INCOMPAT_META_BG). 638 (INCOMPAT_META_BG). 639 * - 0x40 639 * - 0x40 640 - Files in this filesystem use extents (I 640 - Files in this filesystem use extents (INCOMPAT_EXTENTS). 641 * - 0x80 641 * - 0x80 642 - Enable a filesystem size of 2^64 blocks 642 - Enable a filesystem size of 2^64 blocks (INCOMPAT_64BIT). 643 * - 0x100 643 * - 0x100 644 - Multiple mount protection (INCOMPAT_MMP 644 - Multiple mount protection (INCOMPAT_MMP). 645 * - 0x200 645 * - 0x200 646 - Flexible block groups. See the earlier 646 - Flexible block groups. See the earlier discussion of this feature 647 (INCOMPAT_FLEX_BG). 647 (INCOMPAT_FLEX_BG). 648 * - 0x400 648 * - 0x400 649 - Inodes can be used to store large exten 649 - Inodes can be used to store large extended attribute values 650 (INCOMPAT_EA_INODE). 650 (INCOMPAT_EA_INODE). 651 * - 0x1000 651 * - 0x1000 652 - Data in directory entry (INCOMPAT_DIRDA 652 - Data in directory entry (INCOMPAT_DIRDATA). (Not implemented?) 653 * - 0x2000 653 * - 0x2000 654 - Metadata checksum seed is stored in the 654 - Metadata checksum seed is stored in the superblock. This feature enables 655 the administrator to change the UUID of 655 the administrator to change the UUID of a metadata_csum filesystem 656 while the filesystem is mounted; withou 656 while the filesystem is mounted; without it, the checksum definition 657 requires all metadata blocks to be rewr 657 requires all metadata blocks to be rewritten (INCOMPAT_CSUM_SEED). 658 * - 0x4000 658 * - 0x4000 659 - Large directory >2GB or 3-level htree ( 659 - Large directory >2GB or 3-level htree (INCOMPAT_LARGEDIR). Prior to 660 this feature, directories could not be 660 this feature, directories could not be larger than 4GiB and could not 661 have an htree more than 2 levels deep. 661 have an htree more than 2 levels deep. If this feature is enabled, 662 directories can be larger than 4GiB and 662 directories can be larger than 4GiB and have a maximum htree depth of 3. 663 * - 0x8000 663 * - 0x8000 664 - Data in inode (INCOMPAT_INLINE_DATA). 664 - Data in inode (INCOMPAT_INLINE_DATA). 665 * - 0x10000 665 * - 0x10000 666 - Encrypted inodes are present on the fil 666 - Encrypted inodes are present on the filesystem. (INCOMPAT_ENCRYPT). 667 667 668 .. _super_rocompat: 668 .. _super_rocompat: 669 669 670 The superblock read-only compatible features f 670 The superblock read-only compatible features field is a combination of any of 671 the following: 671 the following: 672 672 673 .. list-table:: 673 .. list-table:: 674 :widths: 16 64 674 :widths: 16 64 675 :header-rows: 1 675 :header-rows: 1 676 676 677 * - Value 677 * - Value 678 - Description 678 - Description 679 * - 0x1 679 * - 0x1 680 - Sparse superblocks. See the earlier dis 680 - Sparse superblocks. See the earlier discussion of this feature 681 (RO_COMPAT_SPARSE_SUPER). 681 (RO_COMPAT_SPARSE_SUPER). 682 * - 0x2 682 * - 0x2 683 - This filesystem has been used to store 683 - This filesystem has been used to store a file greater than 2GiB 684 (RO_COMPAT_LARGE_FILE). 684 (RO_COMPAT_LARGE_FILE). 685 * - 0x4 685 * - 0x4 686 - Not used in kernel or e2fsprogs (RO_COM 686 - Not used in kernel or e2fsprogs (RO_COMPAT_BTREE_DIR). 687 * - 0x8 687 * - 0x8 688 - This filesystem has files whose sizes a 688 - This filesystem has files whose sizes are represented in units of 689 logical blocks, not 512-byte sectors. T 689 logical blocks, not 512-byte sectors. This implies a very large file 690 indeed! (RO_COMPAT_HUGE_FILE) 690 indeed! (RO_COMPAT_HUGE_FILE) 691 * - 0x10 691 * - 0x10 692 - Group descriptors have checksums. In ad 692 - Group descriptors have checksums. In addition to detecting corruption, 693 this is useful for lazy formatting with 693 this is useful for lazy formatting with uninitialized groups 694 (RO_COMPAT_GDT_CSUM). 694 (RO_COMPAT_GDT_CSUM). 695 * - 0x20 695 * - 0x20 696 - Indicates that the old ext3 32,000 subd 696 - Indicates that the old ext3 32,000 subdirectory limit no longer applies 697 (RO_COMPAT_DIR_NLINK). A directory's i_ 697 (RO_COMPAT_DIR_NLINK). A directory's i_links_count will be set to 1 698 if it is incremented past 64,999. 698 if it is incremented past 64,999. 699 * - 0x40 699 * - 0x40 700 - Indicates that large inodes exist on th 700 - Indicates that large inodes exist on this filesystem 701 (RO_COMPAT_EXTRA_ISIZE). 701 (RO_COMPAT_EXTRA_ISIZE). 702 * - 0x80 702 * - 0x80 703 - This filesystem has a snapshot (RO_COMP 703 - This filesystem has a snapshot (RO_COMPAT_HAS_SNAPSHOT). 704 * - 0x100 704 * - 0x100 705 - `Quota <Quota>`__ (RO_COMPAT_QUOTA). 705 - `Quota <Quota>`__ (RO_COMPAT_QUOTA). 706 * - 0x200 706 * - 0x200 707 - This filesystem supports “bigalloc” 707 - This filesystem supports “bigalloc”, which means that file extents are 708 tracked in units of clusters (of blocks 708 tracked in units of clusters (of blocks) instead of blocks 709 (RO_COMPAT_BIGALLOC). 709 (RO_COMPAT_BIGALLOC). 710 * - 0x400 710 * - 0x400 711 - This filesystem supports metadata check 711 - This filesystem supports metadata checksumming. 712 (RO_COMPAT_METADATA_CSUM; implies RO_CO 712 (RO_COMPAT_METADATA_CSUM; implies RO_COMPAT_GDT_CSUM, though 713 GDT_CSUM must not be set) 713 GDT_CSUM must not be set) 714 * - 0x800 714 * - 0x800 715 - Filesystem supports replicas. This feat 715 - Filesystem supports replicas. This feature is neither in the kernel nor 716 e2fsprogs. (RO_COMPAT_REPLICA) 716 e2fsprogs. (RO_COMPAT_REPLICA) 717 * - 0x1000 717 * - 0x1000 718 - Read-only filesystem image; the kernel 718 - Read-only filesystem image; the kernel will not mount this image 719 read-write and most tools will refuse t 719 read-write and most tools will refuse to write to the image. 720 (RO_COMPAT_READONLY) 720 (RO_COMPAT_READONLY) 721 * - 0x2000 721 * - 0x2000 722 - Filesystem tracks project quotas. (RO_C 722 - Filesystem tracks project quotas. (RO_COMPAT_PROJECT) 723 * - 0x8000 723 * - 0x8000 724 - Verity inodes may be present on the fil 724 - Verity inodes may be present on the filesystem. (RO_COMPAT_VERITY) 725 * - 0x10000 725 * - 0x10000 726 - Indicates orphan file may have valid or 726 - Indicates orphan file may have valid orphan entries and thus we need 727 to clean them up when mounting the file 727 to clean them up when mounting the filesystem 728 (RO_COMPAT_ORPHAN_PRESENT). 728 (RO_COMPAT_ORPHAN_PRESENT). 729 729 730 .. _super_def_hash: 730 .. _super_def_hash: 731 731 732 The ``s_def_hash_version`` field is one of the 732 The ``s_def_hash_version`` field is one of the following: 733 733 734 .. list-table:: 734 .. list-table:: 735 :widths: 8 72 735 :widths: 8 72 736 :header-rows: 1 736 :header-rows: 1 737 737 738 * - Value 738 * - Value 739 - Description 739 - Description 740 * - 0x0 740 * - 0x0 741 - Legacy. 741 - Legacy. 742 * - 0x1 742 * - 0x1 743 - Half MD4. 743 - Half MD4. 744 * - 0x2 744 * - 0x2 745 - Tea. 745 - Tea. 746 * - 0x3 746 * - 0x3 747 - Legacy, unsigned. 747 - Legacy, unsigned. 748 * - 0x4 748 * - 0x4 749 - Half MD4, unsigned. 749 - Half MD4, unsigned. 750 * - 0x5 750 * - 0x5 751 - Tea, unsigned. 751 - Tea, unsigned. 752 752 753 .. _super_mountopts: 753 .. _super_mountopts: 754 754 755 The ``s_default_mount_opts`` field is any comb 755 The ``s_default_mount_opts`` field is any combination of the following: 756 756 757 .. list-table:: 757 .. list-table:: 758 :widths: 8 72 758 :widths: 8 72 759 :header-rows: 1 759 :header-rows: 1 760 760 761 * - Value 761 * - Value 762 - Description 762 - Description 763 * - 0x0001 763 * - 0x0001 764 - Print debugging info upon (re)mount. (E 764 - Print debugging info upon (re)mount. (EXT4_DEFM_DEBUG) 765 * - 0x0002 765 * - 0x0002 766 - New files take the gid of the containin 766 - New files take the gid of the containing directory (instead of the fsgid 767 of the current process). (EXT4_DEFM_BSD 767 of the current process). (EXT4_DEFM_BSDGROUPS) 768 * - 0x0004 768 * - 0x0004 769 - Support userspace-provided extended att 769 - Support userspace-provided extended attributes. (EXT4_DEFM_XATTR_USER) 770 * - 0x0008 770 * - 0x0008 771 - Support POSIX access control lists (ACL 771 - Support POSIX access control lists (ACLs). (EXT4_DEFM_ACL) 772 * - 0x0010 772 * - 0x0010 773 - Do not support 32-bit UIDs. (EXT4_DEFM_ 773 - Do not support 32-bit UIDs. (EXT4_DEFM_UID16) 774 * - 0x0020 774 * - 0x0020 775 - All data and metadata are committed to !! 775 - All data and metadata are commited to the journal. 776 (EXT4_DEFM_JMODE_DATA) 776 (EXT4_DEFM_JMODE_DATA) 777 * - 0x0040 777 * - 0x0040 778 - All data are flushed to the disk before 778 - All data are flushed to the disk before metadata are committed to the 779 journal. (EXT4_DEFM_JMODE_ORDERED) 779 journal. (EXT4_DEFM_JMODE_ORDERED) 780 * - 0x0060 780 * - 0x0060 781 - Data ordering is not preserved; data ma 781 - Data ordering is not preserved; data may be written after the metadata 782 has been written. (EXT4_DEFM_JMODE_WBAC 782 has been written. (EXT4_DEFM_JMODE_WBACK) 783 * - 0x0100 783 * - 0x0100 784 - Disable write flushes. (EXT4_DEFM_NOBAR 784 - Disable write flushes. (EXT4_DEFM_NOBARRIER) 785 * - 0x0200 785 * - 0x0200 786 - Track which blocks in a filesystem are 786 - Track which blocks in a filesystem are metadata and therefore should not 787 be used as data blocks. This option wil 787 be used as data blocks. This option will be enabled by default on 3.18, 788 hopefully. (EXT4_DEFM_BLOCK_VALIDITY) 788 hopefully. (EXT4_DEFM_BLOCK_VALIDITY) 789 * - 0x0400 789 * - 0x0400 790 - Enable DISCARD support, where the stora 790 - Enable DISCARD support, where the storage device is told about blocks 791 becoming unused. (EXT4_DEFM_DISCARD) 791 becoming unused. (EXT4_DEFM_DISCARD) 792 * - 0x0800 792 * - 0x0800 793 - Disable delayed allocation. (EXT4_DEFM_ 793 - Disable delayed allocation. (EXT4_DEFM_NODELALLOC) 794 794 795 .. _super_flags: 795 .. _super_flags: 796 796 797 The ``s_flags`` field is any combination of th 797 The ``s_flags`` field is any combination of the following: 798 798 799 .. list-table:: 799 .. list-table:: 800 :widths: 8 72 800 :widths: 8 72 801 :header-rows: 1 801 :header-rows: 1 802 802 803 * - Value 803 * - Value 804 - Description 804 - Description 805 * - 0x0001 805 * - 0x0001 806 - Signed directory hash in use. 806 - Signed directory hash in use. 807 * - 0x0002 807 * - 0x0002 808 - Unsigned directory hash in use. 808 - Unsigned directory hash in use. 809 * - 0x0004 809 * - 0x0004 810 - To test development code. 810 - To test development code. 811 811 812 .. _super_encrypt: 812 .. _super_encrypt: 813 813 814 The ``s_encrypt_algos`` list can contain any o 814 The ``s_encrypt_algos`` list can contain any of the following: 815 815 816 .. list-table:: 816 .. list-table:: 817 :widths: 8 72 817 :widths: 8 72 818 :header-rows: 1 818 :header-rows: 1 819 819 820 * - Value 820 * - Value 821 - Description 821 - Description 822 * - 0 822 * - 0 823 - Invalid algorithm (ENCRYPTION_MODE_INVA 823 - Invalid algorithm (ENCRYPTION_MODE_INVALID). 824 * - 1 824 * - 1 825 - 256-bit AES in XTS mode (ENCRYPTION_MOD 825 - 256-bit AES in XTS mode (ENCRYPTION_MODE_AES_256_XTS). 826 * - 2 826 * - 2 827 - 256-bit AES in GCM mode (ENCRYPTION_MOD 827 - 256-bit AES in GCM mode (ENCRYPTION_MODE_AES_256_GCM). 828 * - 3 828 * - 3 829 - 256-bit AES in CBC mode (ENCRYPTION_MOD 829 - 256-bit AES in CBC mode (ENCRYPTION_MODE_AES_256_CBC). 830 830 831 Total size of the superblock is 1024 bytes. 831 Total size of the superblock is 1024 bytes.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.