~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/filesystems/ext4/super.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/filesystems/ext4/super.rst (Version linux-6.12-rc7) and /Documentation/filesystems/ext4/super.rst (Version linux-4.20.17)


  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 ^ 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\_wtime_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[2]
470      - s_pad[2]                                !! 470      - s\_pad
471      - Zero padding.                              471      - Zero padding.
472    * - 0x27C                                      472    * - 0x27C
473      - __le16                                  !! 473      - \_\_le32
474      - s_encoding                              !! 474      - s\_reserved[96]
475      - Filename charset encoding.              << 
476    * - 0x27E                                   << 
477      - __le16                                  << 
478      - s_encoding_flags                        << 
479      - Filename charset encoding flags.        << 
480    * - 0x280                                   << 
481      - __le32                                  << 
482      - s_orphan_file_inum                      << 
483      - Orphan file inode number.               << 
484    * - 0x284                                   << 
485      - __le32                                  << 
486      - s_reserved[94]                          << 
487      - Padding to the end of the block.           475      - Padding to the end of the block.
488    * - 0x3FC                                      476    * - 0x3FC
489      - __le32                                  !! 477      - \_\_le32
490      - s_checksum                              !! 478      - s\_checksum
491      - Superblock checksum.                       479      - Superblock checksum.
492                                                   480 
493 .. _super_state:                                  481 .. _super_state:
494                                                   482 
495 The superblock state is some combination of th    483 The superblock state is some combination of the following:
496                                                   484 
497 .. list-table::                                   485 .. list-table::
498    :widths: 8 72                                  486    :widths: 8 72
499    :header-rows: 1                                487    :header-rows: 1
500                                                   488 
501    * - Value                                      489    * - Value
502      - Description                                490      - Description
503    * - 0x0001                                     491    * - 0x0001
504      - Cleanly umounted                           492      - Cleanly umounted
505    * - 0x0002                                     493    * - 0x0002
506      - Errors detected                            494      - Errors detected
507    * - 0x0004                                     495    * - 0x0004
508      - Orphans being recovered                    496      - Orphans being recovered
509                                                   497 
510 .. _super_errors:                                 498 .. _super_errors:
511                                                   499 
512 The superblock error policy is one of the foll    500 The superblock error policy is one of the following:
513                                                   501 
514 .. list-table::                                   502 .. list-table::
515    :widths: 8 72                                  503    :widths: 8 72
516    :header-rows: 1                                504    :header-rows: 1
517                                                   505 
518    * - Value                                      506    * - Value
519      - Description                                507      - Description
520    * - 1                                          508    * - 1
521      - Continue                                   509      - Continue
522    * - 2                                          510    * - 2
523      - Remount read-only                          511      - Remount read-only
524    * - 3                                          512    * - 3
525      - Panic                                      513      - Panic
526                                                   514 
527 .. _super_creator:                                515 .. _super_creator:
528                                                   516 
529 The filesystem creator is one of the following    517 The filesystem creator is one of the following:
530                                                   518 
531 .. list-table::                                   519 .. list-table::
532    :widths: 8 72                                  520    :widths: 8 72
533    :header-rows: 1                                521    :header-rows: 1
534                                                   522 
535    * - Value                                      523    * - Value
536      - Description                                524      - Description
537    * - 0                                          525    * - 0
538      - Linux                                      526      - Linux
539    * - 1                                          527    * - 1
540      - Hurd                                       528      - Hurd
541    * - 2                                          529    * - 2
542      - Masix                                      530      - Masix
543    * - 3                                          531    * - 3
544      - FreeBSD                                    532      - FreeBSD
545    * - 4                                          533    * - 4
546      - Lites                                      534      - Lites
547                                                   535 
548 .. _super_revision:                               536 .. _super_revision:
549                                                   537 
550 The superblock revision is one of the followin    538 The superblock revision is one of the following:
551                                                   539 
552 .. list-table::                                   540 .. list-table::
553    :widths: 8 72                                  541    :widths: 8 72
554    :header-rows: 1                                542    :header-rows: 1
555                                                   543 
556    * - Value                                      544    * - Value
557      - Description                                545      - Description
558    * - 0                                          546    * - 0
559      - Original format                            547      - Original format
560    * - 1                                          548    * - 1
561      - v2 format w/ dynamic inode sizes           549      - v2 format w/ dynamic inode sizes
562                                                   550 
563 Note that ``EXT4_DYNAMIC_REV`` refers to a rev    551 Note that ``EXT4_DYNAMIC_REV`` refers to a revision 1 or newer filesystem.
564                                                   552 
565 .. _super_compat:                                 553 .. _super_compat:
566                                                   554 
567 The superblock compatible features field is a     555 The superblock compatible features field is a combination of any of the
568 following:                                        556 following:
569                                                   557 
570 .. list-table::                                   558 .. list-table::
571    :widths: 16 64                                 559    :widths: 16 64
572    :header-rows: 1                                560    :header-rows: 1
573                                                   561 
574    * - Value                                      562    * - Value
575      - Description                                563      - Description
576    * - 0x1                                        564    * - 0x1
577      - Directory preallocation (COMPAT_DIR_PRE !! 565      - Directory preallocation (COMPAT\_DIR\_PREALLOC).
578    * - 0x2                                        566    * - 0x2
579      - “imagic inodes”. Not clear from the    567      - “imagic inodes”. Not clear from the code what this does
580        (COMPAT_IMAGIC_INODES).                 !! 568        (COMPAT\_IMAGIC\_INODES).
581    * - 0x4                                        569    * - 0x4
582      - Has a journal (COMPAT_HAS_JOURNAL).     !! 570      - Has a journal (COMPAT\_HAS\_JOURNAL).
583    * - 0x8                                        571    * - 0x8
584      - Supports extended attributes (COMPAT_EX !! 572      - Supports extended attributes (COMPAT\_EXT\_ATTR).
585    * - 0x10                                       573    * - 0x10
586      - Has reserved GDT blocks for filesystem     574      - Has reserved GDT blocks for filesystem expansion
587        (COMPAT_RESIZE_INODE). Requires RO_COMP !! 575        (COMPAT\_RESIZE\_INODE). Requires RO\_COMPAT\_SPARSE\_SUPER.
588    * - 0x20                                       576    * - 0x20
589      - Has directory indices (COMPAT_DIR_INDEX !! 577      - Has directory indices (COMPAT\_DIR\_INDEX).
590    * - 0x40                                       578    * - 0x40
591      - “Lazy BG”. Not in Linux kernel, see    579      - “Lazy BG”. Not in Linux kernel, seems to have been for uninitialized
592        block groups? (COMPAT_LAZY_BG)          !! 580        block groups? (COMPAT\_LAZY\_BG)
593    * - 0x80                                       581    * - 0x80
594      - “Exclude inode”. Not used. (COMPAT_ !! 582      - “Exclude inode”. Not used. (COMPAT\_EXCLUDE\_INODE).
595    * - 0x100                                      583    * - 0x100
596      - “Exclude bitmap”. Seems to be used     584      - “Exclude bitmap”. Seems to be used to indicate the presence of
597        snapshot-related exclude bitmaps? Not d    585        snapshot-related exclude bitmaps? Not defined in kernel or used in
598        e2fsprogs (COMPAT_EXCLUDE_BITMAP).      !! 586        e2fsprogs (COMPAT\_EXCLUDE\_BITMAP).
599    * - 0x200                                      587    * - 0x200
600      - Sparse Super Block, v2. If this flag is !! 588      - Sparse Super Block, v2. If this flag is set, the SB field s\_backup\_bgs
601        points to the two block groups that con    589        points to the two block groups that contain backup superblocks
602        (COMPAT_SPARSE_SUPER2).                 !! 590        (COMPAT\_SPARSE\_SUPER2).
603    * - 0x400                                   << 
604      - Fast commits supported. Although fast c << 
605        backward incompatible, fast commit bloc << 
606        present in the journal. If fast commit  << 
607        the journal, JBD2 incompat feature      << 
608        (JBD2_FEATURE_INCOMPAT_FAST_COMMIT) get << 
609        set (COMPAT_FAST_COMMIT).               << 
610    * - 0x1000                                  << 
611      - Orphan file allocated. This is the spec << 
612        tracking of unlinked but still open ino << 
613        entries in the file, we additionally se << 
614        (RO_COMPAT_ORPHAN_PRESENT).             << 
615                                                   591 
616 .. _super_incompat:                               592 .. _super_incompat:
617                                                   593 
618 The superblock incompatible features field is     594 The superblock incompatible features field is a combination of any of the
619 following:                                        595 following:
620                                                   596 
621 .. list-table::                                   597 .. list-table::
622    :widths: 16 64                                 598    :widths: 16 64
623    :header-rows: 1                                599    :header-rows: 1
624                                                   600 
625    * - Value                                      601    * - Value
626      - Description                                602      - Description
627    * - 0x1                                        603    * - 0x1
628      - Compression (INCOMPAT_COMPRESSION).     !! 604      - Compression (INCOMPAT\_COMPRESSION).
629    * - 0x2                                        605    * - 0x2
630      - Directory entries record the file type. !! 606      - Directory entries record the file type. See ext4\_dir\_entry\_2 below
631        (INCOMPAT_FILETYPE).                    !! 607        (INCOMPAT\_FILETYPE).
632    * - 0x4                                        608    * - 0x4
633      - Filesystem needs recovery (INCOMPAT_REC !! 609      - Filesystem needs recovery (INCOMPAT\_RECOVER).
634    * - 0x8                                        610    * - 0x8
635      - Filesystem has a separate journal devic !! 611      - Filesystem has a separate journal device (INCOMPAT\_JOURNAL\_DEV).
636    * - 0x10                                       612    * - 0x10
637      - Meta block groups. See the earlier disc    613      - Meta block groups. See the earlier discussion of this feature
638        (INCOMPAT_META_BG).                     !! 614        (INCOMPAT\_META\_BG).
639    * - 0x40                                       615    * - 0x40
640      - Files in this filesystem use extents (I !! 616      - Files in this filesystem use extents (INCOMPAT\_EXTENTS).
641    * - 0x80                                       617    * - 0x80
642      - Enable a filesystem size of 2^64 blocks !! 618      - Enable a filesystem size of 2^64 blocks (INCOMPAT\_64BIT).
643    * - 0x100                                      619    * - 0x100
644      - Multiple mount protection (INCOMPAT_MMP !! 620      - Multiple mount protection. Not implemented (INCOMPAT\_MMP).
645    * - 0x200                                      621    * - 0x200
646      - Flexible block groups. See the earlier     622      - Flexible block groups. See the earlier discussion of this feature
647        (INCOMPAT_FLEX_BG).                     !! 623        (INCOMPAT\_FLEX\_BG).
648    * - 0x400                                      624    * - 0x400
649      - Inodes can be used to store large exten    625      - Inodes can be used to store large extended attribute values
650        (INCOMPAT_EA_INODE).                    !! 626        (INCOMPAT\_EA\_INODE).
651    * - 0x1000                                     627    * - 0x1000
652      - Data in directory entry (INCOMPAT_DIRDA !! 628      - Data in directory entry (INCOMPAT\_DIRDATA). (Not implemented?)
653    * - 0x2000                                     629    * - 0x2000
654      - Metadata checksum seed is stored in the    630      - Metadata checksum seed is stored in the superblock. This feature enables
655        the administrator to change the UUID of !! 631        the administrator to change the UUID of a metadata\_csum filesystem
656        while the filesystem is mounted; withou    632        while the filesystem is mounted; without it, the checksum definition
657        requires all metadata blocks to be rewr !! 633        requires all metadata blocks to be rewritten (INCOMPAT\_CSUM\_SEED).
658    * - 0x4000                                     634    * - 0x4000
659      - Large directory >2GB or 3-level htree ( !! 635      - Large directory >2GB or 3-level htree (INCOMPAT\_LARGEDIR). Prior to
660        this feature, directories could not be     636        this feature, directories could not be larger than 4GiB and could not
661        have an htree more than 2 levels deep.     637        have an htree more than 2 levels deep. If this feature is enabled,
662        directories can be larger than 4GiB and    638        directories can be larger than 4GiB and have a maximum htree depth of 3.
663    * - 0x8000                                     639    * - 0x8000
664      - Data in inode (INCOMPAT_INLINE_DATA).   !! 640      - Data in inode (INCOMPAT\_INLINE\_DATA).
665    * - 0x10000                                    641    * - 0x10000
666      - Encrypted inodes are present on the fil !! 642      - Encrypted inodes are present on the filesystem. (INCOMPAT\_ENCRYPT).
667                                                   643 
668 .. _super_rocompat:                               644 .. _super_rocompat:
669                                                   645 
670 The superblock read-only compatible features f    646 The superblock read-only compatible features field is a combination of any of
671 the following:                                    647 the following:
672                                                   648 
673 .. list-table::                                   649 .. list-table::
674    :widths: 16 64                                 650    :widths: 16 64
675    :header-rows: 1                                651    :header-rows: 1
676                                                   652 
677    * - Value                                      653    * - Value
678      - Description                                654      - Description
679    * - 0x1                                        655    * - 0x1
680      - Sparse superblocks. See the earlier dis    656      - Sparse superblocks. See the earlier discussion of this feature
681        (RO_COMPAT_SPARSE_SUPER).               !! 657        (RO\_COMPAT\_SPARSE\_SUPER).
682    * - 0x2                                        658    * - 0x2
683      - This filesystem has been used to store     659      - This filesystem has been used to store a file greater than 2GiB
684        (RO_COMPAT_LARGE_FILE).                 !! 660        (RO\_COMPAT\_LARGE\_FILE).
685    * - 0x4                                        661    * - 0x4
686      - Not used in kernel or e2fsprogs (RO_COM !! 662      - Not used in kernel or e2fsprogs (RO\_COMPAT\_BTREE\_DIR).
687    * - 0x8                                        663    * - 0x8
688      - This filesystem has files whose sizes a    664      - This filesystem has files whose sizes are represented in units of
689        logical blocks, not 512-byte sectors. T    665        logical blocks, not 512-byte sectors. This implies a very large file
690        indeed! (RO_COMPAT_HUGE_FILE)           !! 666        indeed! (RO\_COMPAT\_HUGE\_FILE)
691    * - 0x10                                       667    * - 0x10
692      - Group descriptors have checksums. In ad    668      - Group descriptors have checksums. In addition to detecting corruption,
693        this is useful for lazy formatting with    669        this is useful for lazy formatting with uninitialized groups
694        (RO_COMPAT_GDT_CSUM).                   !! 670        (RO\_COMPAT\_GDT\_CSUM).
695    * - 0x20                                       671    * - 0x20
696      - Indicates that the old ext3 32,000 subd    672      - Indicates that the old ext3 32,000 subdirectory limit no longer applies
697        (RO_COMPAT_DIR_NLINK). A directory's i_ !! 673        (RO\_COMPAT\_DIR\_NLINK). A directory's i\_links\_count will be set to 1
698        if it is incremented past 64,999.          674        if it is incremented past 64,999.
699    * - 0x40                                       675    * - 0x40
700      - Indicates that large inodes exist on th    676      - Indicates that large inodes exist on this filesystem
701        (RO_COMPAT_EXTRA_ISIZE).                !! 677        (RO\_COMPAT\_EXTRA\_ISIZE).
702    * - 0x80                                       678    * - 0x80
703      - This filesystem has a snapshot (RO_COMP !! 679      - This filesystem has a snapshot (RO\_COMPAT\_HAS\_SNAPSHOT).
704    * - 0x100                                      680    * - 0x100
705      - `Quota <Quota>`__ (RO_COMPAT_QUOTA).    !! 681      - `Quota <Quota>`__ (RO\_COMPAT\_QUOTA).
706    * - 0x200                                      682    * - 0x200
707      - This filesystem supports “bigalloc”    683      - This filesystem supports “bigalloc”, which means that file extents are
708        tracked in units of clusters (of blocks    684        tracked in units of clusters (of blocks) instead of blocks
709        (RO_COMPAT_BIGALLOC).                   !! 685        (RO\_COMPAT\_BIGALLOC).
710    * - 0x400                                      686    * - 0x400
711      - This filesystem supports metadata check    687      - This filesystem supports metadata checksumming.
712        (RO_COMPAT_METADATA_CSUM; implies RO_CO !! 688        (RO\_COMPAT\_METADATA\_CSUM; implies RO\_COMPAT\_GDT\_CSUM, though
713        GDT_CSUM must not be set)               !! 689        GDT\_CSUM must not be set)
714    * - 0x800                                      690    * - 0x800
715      - Filesystem supports replicas. This feat    691      - Filesystem supports replicas. This feature is neither in the kernel nor
716        e2fsprogs. (RO_COMPAT_REPLICA)          !! 692        e2fsprogs. (RO\_COMPAT\_REPLICA)
717    * - 0x1000                                     693    * - 0x1000
718      - Read-only filesystem image; the kernel     694      - Read-only filesystem image; the kernel will not mount this image
719        read-write and most tools will refuse t    695        read-write and most tools will refuse to write to the image.
720        (RO_COMPAT_READONLY)                    !! 696        (RO\_COMPAT\_READONLY)
721    * - 0x2000                                     697    * - 0x2000
722      - Filesystem tracks project quotas. (RO_C !! 698      - Filesystem tracks project quotas. (RO\_COMPAT\_PROJECT)
723    * - 0x8000                                  << 
724      - Verity inodes may be present on the fil << 
725    * - 0x10000                                 << 
726      - Indicates orphan file may have valid or << 
727        to clean them up when mounting the file << 
728        (RO_COMPAT_ORPHAN_PRESENT).             << 
729                                                   699 
730 .. _super_def_hash:                               700 .. _super_def_hash:
731                                                   701 
732 The ``s_def_hash_version`` field is one of the    702 The ``s_def_hash_version`` field is one of the following:
733                                                   703 
734 .. list-table::                                   704 .. list-table::
735    :widths: 8 72                                  705    :widths: 8 72
736    :header-rows: 1                                706    :header-rows: 1
737                                                   707 
738    * - Value                                      708    * - Value
739      - Description                                709      - Description
740    * - 0x0                                        710    * - 0x0
741      - Legacy.                                    711      - Legacy.
742    * - 0x1                                        712    * - 0x1
743      - Half MD4.                                  713      - Half MD4.
744    * - 0x2                                        714    * - 0x2
745      - Tea.                                       715      - Tea.
746    * - 0x3                                        716    * - 0x3
747      - Legacy, unsigned.                          717      - Legacy, unsigned.
748    * - 0x4                                        718    * - 0x4
749      - Half MD4, unsigned.                        719      - Half MD4, unsigned.
750    * - 0x5                                        720    * - 0x5
751      - Tea, unsigned.                             721      - Tea, unsigned.
752                                                   722 
753 .. _super_mountopts:                              723 .. _super_mountopts:
754                                                   724 
755 The ``s_default_mount_opts`` field is any comb    725 The ``s_default_mount_opts`` field is any combination of the following:
756                                                   726 
757 .. list-table::                                   727 .. list-table::
758    :widths: 8 72                                  728    :widths: 8 72
759    :header-rows: 1                                729    :header-rows: 1
760                                                   730 
761    * - Value                                      731    * - Value
762      - Description                                732      - Description
763    * - 0x0001                                     733    * - 0x0001
764      - Print debugging info upon (re)mount. (E !! 734      - Print debugging info upon (re)mount. (EXT4\_DEFM\_DEBUG)
765    * - 0x0002                                     735    * - 0x0002
766      - New files take the gid of the containin    736      - New files take the gid of the containing directory (instead of the fsgid
767        of the current process). (EXT4_DEFM_BSD !! 737        of the current process). (EXT4\_DEFM\_BSDGROUPS)
768    * - 0x0004                                     738    * - 0x0004
769      - Support userspace-provided extended att !! 739      - Support userspace-provided extended attributes. (EXT4\_DEFM\_XATTR\_USER)
770    * - 0x0008                                     740    * - 0x0008
771      - Support POSIX access control lists (ACL !! 741      - Support POSIX access control lists (ACLs). (EXT4\_DEFM\_ACL)
772    * - 0x0010                                     742    * - 0x0010
773      - Do not support 32-bit UIDs. (EXT4_DEFM_ !! 743      - Do not support 32-bit UIDs. (EXT4\_DEFM\_UID16)
774    * - 0x0020                                     744    * - 0x0020
775      - All data and metadata are committed to  !! 745      - All data and metadata are commited to the journal.
776        (EXT4_DEFM_JMODE_DATA)                  !! 746        (EXT4\_DEFM\_JMODE\_DATA)
777    * - 0x0040                                     747    * - 0x0040
778      - All data are flushed to the disk before    748      - All data are flushed to the disk before metadata are committed to the
779        journal. (EXT4_DEFM_JMODE_ORDERED)      !! 749        journal. (EXT4\_DEFM\_JMODE\_ORDERED)
780    * - 0x0060                                     750    * - 0x0060
781      - Data ordering is not preserved; data ma    751      - Data ordering is not preserved; data may be written after the metadata
782        has been written. (EXT4_DEFM_JMODE_WBAC !! 752        has been written. (EXT4\_DEFM\_JMODE\_WBACK)
783    * - 0x0100                                     753    * - 0x0100
784      - Disable write flushes. (EXT4_DEFM_NOBAR !! 754      - Disable write flushes. (EXT4\_DEFM\_NOBARRIER)
785    * - 0x0200                                     755    * - 0x0200
786      - Track which blocks in a filesystem are     756      - Track which blocks in a filesystem are metadata and therefore should not
787        be used as data blocks. This option wil    757        be used as data blocks. This option will be enabled by default on 3.18,
788        hopefully. (EXT4_DEFM_BLOCK_VALIDITY)   !! 758        hopefully. (EXT4\_DEFM\_BLOCK\_VALIDITY)
789    * - 0x0400                                     759    * - 0x0400
790      - Enable DISCARD support, where the stora    760      - Enable DISCARD support, where the storage device is told about blocks
791        becoming unused. (EXT4_DEFM_DISCARD)    !! 761        becoming unused. (EXT4\_DEFM\_DISCARD)
792    * - 0x0800                                     762    * - 0x0800
793      - Disable delayed allocation. (EXT4_DEFM_ !! 763      - Disable delayed allocation. (EXT4\_DEFM\_NODELALLOC)
794                                                   764 
795 .. _super_flags:                                  765 .. _super_flags:
796                                                   766 
797 The ``s_flags`` field is any combination of th    767 The ``s_flags`` field is any combination of the following:
798                                                   768 
799 .. list-table::                                   769 .. list-table::
800    :widths: 8 72                                  770    :widths: 8 72
801    :header-rows: 1                                771    :header-rows: 1
802                                                   772 
803    * - Value                                      773    * - Value
804      - Description                                774      - Description
805    * - 0x0001                                     775    * - 0x0001
806      - Signed directory hash in use.              776      - Signed directory hash in use.
807    * - 0x0002                                     777    * - 0x0002
808      - Unsigned directory hash in use.            778      - Unsigned directory hash in use.
809    * - 0x0004                                     779    * - 0x0004
810      - To test development code.                  780      - To test development code.
811                                                   781 
812 .. _super_encrypt:                                782 .. _super_encrypt:
813                                                   783 
814 The ``s_encrypt_algos`` list can contain any o    784 The ``s_encrypt_algos`` list can contain any of the following:
815                                                   785 
816 .. list-table::                                   786 .. list-table::
817    :widths: 8 72                                  787    :widths: 8 72
818    :header-rows: 1                                788    :header-rows: 1
819                                                   789 
820    * - Value                                      790    * - Value
821      - Description                                791      - Description
822    * - 0                                          792    * - 0
823      - Invalid algorithm (ENCRYPTION_MODE_INVA !! 793      - Invalid algorithm (ENCRYPTION\_MODE\_INVALID).
824    * - 1                                          794    * - 1
825      - 256-bit AES in XTS mode (ENCRYPTION_MOD !! 795      - 256-bit AES in XTS mode (ENCRYPTION\_MODE\_AES\_256\_XTS).
826    * - 2                                          796    * - 2
827      - 256-bit AES in GCM mode (ENCRYPTION_MOD !! 797      - 256-bit AES in GCM mode (ENCRYPTION\_MODE\_AES\_256\_GCM).
828    * - 3                                          798    * - 3
829      - 256-bit AES in CBC mode (ENCRYPTION_MOD !! 799      - 256-bit AES in CBC mode (ENCRYPTION\_MODE\_AES\_256\_CBC).
830                                                   800 
831 Total size of the superblock is 1024 bytes.       801 Total size of the superblock is 1024 bytes.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php