1EXT4(5)                       File Formats Manual                      EXT4(5)
2
3
4

NAME

6       ext2 - the second extended file system
7       ext3 - the third extended file system
8       ext4 - the fourth extended file system
9

DESCRIPTION

11       The second, third, and fourth extended file systems, or ext2, ext3, and
12       ext4 as they are commonly known, are Linux file systems that have  his‐
13       torically  been  the  default file system for many Linux distributions.
14       They are general purpose file  systems  that  have  been  designed  for
15       extensibility and backwards compatibility.  In particular, file systems
16       previously intended for use with the ext2 and ext3 file systems can  be
17       mounted  using  the  ext4 file system driver, and indeed in many modern
18       Linux distributions, the ext4 file system driver has been configured to
19       handle mount requests for ext2 and ext3 file systems.
20

FILE SYSTEM FEATURES

22       A  file  system formatted for ext2, ext3, or ext4 can have some collec‐
23       tion of the following file system feature flags enabled.  Some of these
24       features  are  not  supported by all implementations of the ext2, ext3,
25       and ext4 file system drivers, depending on Linux kernel version in use.
26       On  other  operating  systems,  such as the GNU/HURD or FreeBSD, only a
27       very restrictive set of file system features may be supported in  their
28       implementations of ext2.
29
30       64bit
31              Enables  the  file  system  to be larger than 2^32 blocks.  This
32              feature is set automatically, as needed, but it can be useful to
33              specify this feature explicitly if the file system might need to
34              be resized larger than 2^32 blocks, even if it was smaller  than
35              that  threshold  when it was originally created.  Note that some
36              older kernels and older versions of e2fsprogs will  not  support
37              file systems with this ext4 feature enabled.
38
39       bigalloc
40              This  ext4  feature  enables clustered block allocation, so that
41              the unit of allocation is a power of two number of blocks.  That
42              is,  each  bit  in  the what had traditionally been known as the
43              block allocation bitmap now indicates whether a  cluster  is  in
44              use or not, where a cluster is by default composed of 16 blocks.
45              This feature can decrease the time spent on doing block  alloca‐
46              tion  and  brings  smaller  fragmentation,  especially for large
47              files.  The size can be specified using the mke2fs -C option.
48
49              Warning: The bigalloc feature is still  under  development,  and
50              may  not be fully supported with your kernel or may have various
51              bugs.    Please   see   the   web   page   http://ext4.wiki.ker
52              nel.org/index.php/Bigalloc  for details.  May clash with delayed
53              allocation (see nodelalloc mount option).
54
55              This feature requires that the extent feature be enabled.
56
57       dir_index
58              Use hashed b-trees to speed up name lookups  in  large  directo‐
59              ries.   This feature is supported by ext3 and ext4 file systems,
60              and is ignored by ext2 file systems.
61
62       dir_nlink
63              Normally, ext4 allows an inode to have no more than 65,000  hard
64              links.   This  applies  to regular files as well as directories,
65              which means that there can be no more than 64,998 subdirectories
66              in  a  directory  (because  each of the '.' and '..' entries, as
67              well as the directory entry for  the  directory  in  its  parent
68              directory counts as a hard link).  This feature lifts this limit
69              by causing ext4 to use a link count of 1 to  indicate  that  the
70              number  of  hard links to a directory is not known when the link
71              count might exceed the maximum count limit.
72
73       ea_inode
74              Normally, a file's extended attributes and  associated  metadata
75              must  fit  within  the  inode or the inode's associated extended
76              attribute block. This feature allows the value of each  extended
77              attribute to be placed in the data blocks of a separate inode if
78              necessary, increasing the  limit  on  the  size  and  number  of
79              extended attributes per file.
80
81       encrypt
82              This  ext4 feature provides file-system level encryption of data
83              blocks and file names.  The  inode  metadata  (timestamps,  file
84              size, user/group ownership, etc.) is not encrypted.
85
86              This feature is most useful on file systems with multiple users,
87              or where not all files should be encrypted.  In many use  cases,
88              especially  on  single-user  systems,  encryption  at  the block
89              device layer using dm-crypt may provide much better security.
90
91       ext_attr
92              This feature enables the use of extended attributes.  This  fea‐
93              ture is supported by ext2, ext3, and ext4.
94
95       extent
96              This  ext4  feature  allows the mapping of logical block numbers
97              for a particular inode to physical blocks on the storage  device
98              to  be  stored  using  an extent tree, which is a more efficient
99              data structure than the traditional indirect block  scheme  used
100              by  the  ext2 and ext3 file systems.  The use of the extent tree
101              decreases metadata block overhead, improves file system  perfor‐
102              mance,  and  decreases  the  needed to run e2fsck(8) on the file
103              system.  (Note: both extent and extents are  accepted  as  valid
104              names  for  this  feature for historical/backwards compatibility
105              reasons.)
106
107       extra_isize
108              This ext4 feature reserves a specific amount of  space  in  each
109              inode  for  extended  metadata such as nanosecond timestamps and
110              file creation time, even if the current  kernel  does  not  cur‐
111              rently  need  to reserve this much space.  Without this feature,
112              the kernel will reserve the amount of space for features it cur‐
113              rently   needs,  and  the  rest  may  be  consumed  by  extended
114              attributes.
115
116              For this feature to be useful the inode size must be  256  bytes
117              in size or larger.
118
119       filetype
120              This  feature  enables  the  storage of file type information in
121              directory entries.  This feature is supported by ext2, ext3, and
122              ext4.
123
124       flex_bg
125              This  ext4  feature allows the per-block group metadata (alloca‐
126              tion bitmaps and inode tables) to  be  placed  anywhere  on  the
127              storage  media.   In  addition,  mke2fs will place the per-block
128              group metadata together starting at the  first  block  group  of
129              each  "flex_bg  group".    The  size of the flex_bg group can be
130              specified using the -G option.
131
132       casefold
133              This ext4 feature provides file system level character  encoding
134              support  for  directories  with  the casefold (+F) flag enabled.
135              This feature is name-preserving  on  the  disk,  but  it  allows
136              applications  to  lookup  for a file in the file system using an
137              encoding equivalent version of the file name.
138
139       has_journal
140              Create a journal to ensure filesystem  consistency  even  across
141              unclean shutdowns.  Setting the filesystem feature is equivalent
142              to using the -j option with mke2fs or tune2fs.  This feature  is
143              supported  by ext3 and ext4, and ignored by the ext2 file system
144              driver.
145
146       huge_file
147              This ext4 feature allows files to be larger than 2 terabytes  in
148              size.
149
150       inline_data
151              Allow  data  to  be  stored  in the inode and extended attribute
152              area.
153
154       journal_dev
155              This feature is enabled on the superblock found on  an  external
156              journal device.  The block size for the external journal must be
157              the same as the file system which uses it.
158
159              The external journal device can be used  by  a  file  system  by
160              specifying  the  -J device=<external-device> option to mke2fs(8)
161              or tune2fs(8).
162
163       large_dir
164              This feature increases the limit on  the  number  of  files  per
165              directory  by  raising  the maximum size of directories and, for
166              hashed b-tree directories (see dir_index), the maximum height of
167              the hashed b-tree used to store the directory entries.
168
169       large_file
170              This  feature flag is set automatically by modern kernels when a
171              file larger than 2 gigabytes is created.  Very old kernels could
172              not  handle  large  files, so this feature flag was used to pro‐
173              hibit those kernels from mounting file systems that  they  could
174              not understand.
175
176       metadata_csum
177              This  ext4  feature enables metadata checksumming.  This feature
178              stores checksums for all of the filesystem metadata (superblock,
179              group  descriptor  blocks, inode and block bitmaps, directories,
180              and extent tree blocks).  The checksum algorithm  used  for  the
181              metadata  blocks  is  different  than  the  one  used  for group
182              descriptors with the uninit_bg feature.  These two features  are
183              incompatible  and  metadata_csum  will  be  used  preferentially
184              instead of uninit_bg.
185
186       metadata_csum_seed
187              This feature allows the filesystem to store the metadata  check‐
188              sum  seed  in  the superblock, which allows the administrator to
189              change the UUID of a filesystem using the metadata_csum  feature
190              while it is mounted.
191
192       meta_bg
193              This  ext4  feature  allows  file  systems to be resized on-line
194              without explicitly needing to reserve space for  growth  in  the
195              size  of  the block group descriptors.  This scheme is also used
196              to resize file systems which are larger than 2^32 blocks.  It is
197              not  recommended  that this feature be set when a file system is
198              created, since this alternate method of storing the block  group
199              descriptors  will  slow  down  the time needed to mount the file
200              system, and newer kernels can automatically set this feature  as
201              necessary when doing an online resize and no more reserved space
202              is available in the resize inode.
203
204       mmp
205              This ext4 feature provides multiple mount protection (MMP).  MMP
206              helps  to protect the filesystem from being multiply mounted and
207              is useful in shared storage environments.
208
209       project
210              This ext4 feature provides project quota support. With this fea‐
211              ture,  the project ID of inode will be managed when the filesys‐
212              tem is mounted.
213
214       quota
215              Create quota inodes (inode #3 for userquota  and  inode  #4  for
216              group quota) and set them in the superblock.  With this feature,
217              the quotas will be enabled automatically when the filesystem  is
218              mounted.
219
220              Causes  the  quota files (i.e., user.quota and group.quota which
221              existed in the older quota design) to be hidden inodes.
222
223       resize_inode
224              This file system feature indicates that space has been  reserved
225              so  that  the block group descriptor table can be extended while
226              resizing a mounted file system.  The online resize operation  is
227              carried  out  by  the  kernel,  triggered  by  resize2fs(8).  By
228              default mke2fs will attempt to reserve enough space so that  the
229              filesystem may grow to 1024 times its initial size.  This can be
230              changed using the resize extended option.
231
232              This feature requires that  the  sparse_super  or  sparse_super2
233              feature be enabled.
234
235       sparse_super
236              This  file  system  feature is set on all modern ext2, ext3, and
237              ext4 file systems.  It  indicates  that  backup  copies  of  the
238              superblock and block group descriptors are present only in a few
239              block groups, not all of them.
240
241       sparse_super2
242              This feature indicates that there  will  only  be  at  most  two
243              backup  superblocks  and  block  group  descriptors.   The block
244              groups used to store the  backup  superblock(s)  and  blockgroup
245              descriptor(s)  are  stored in the superblock, but typically, one
246              will be located at the beginning of block group #1, and  one  in
247              the last block group in the file system.  This feature is essen‐
248              tially a more extreme version of sparse_super and is designed to
249              allow  a  much  larger percentage of the disk to have contiguous
250              blocks available for data files.
251
252       uninit_bg
253              This ext4 file system feature indicates  that  the  block  group
254              descriptors  will  be  protected using checksums, making it safe
255              for mke2fs(8) to create a file system without  initializing  all
256              of  the  block groups.  The kernel will keep a high watermark of
257              unused inodes, and initialize inode tables  and  blocks  lazily.
258              This  feature  speeds up the time to check the file system using
259              e2fsck(8), and it also speeds up the time required for mke2fs(8)
260              to create the file system.
261

MOUNT OPTIONS

263       This  section describes mount options which are specific to ext2, ext3,
264       and ext4.  Other generic  mount  options  may  be  used  as  well;  see
265       mount(8) for details.
266

Mount options for ext2

268       The  `ext2'  filesystem  is the standard Linux filesystem.  Since Linux
269       2.5.46, for most  mount  options  the  default  is  determined  by  the
270       filesystem superblock. Set them with tune2fs(8).
271
272       acl|noacl
273              Support  POSIX  Access  Control  Lists (or not).  See the acl(5)
274              manual page.
275
276       bsddf|minixdf
277              Set the behavior for the statfs system call. The minixdf  behav‐
278              ior  is  to  return  in  the  f_blocks field the total number of
279              blocks of the filesystem, while the bsddf behavior (which is the
280              default)  is  to  subtract  the overhead blocks used by the ext2
281              filesystem and not available for file storage. Thus
282
283              % mount /k -o minixdf; df /k; umount /k
284
285              Filesystem  1024-blocks   Used  Available  Capacity  Mounted on
286              /dev/sda6     2630655    86954   2412169      3%     /k
287
288              % mount /k -o bsddf; df /k; umount /k
289
290              Filesystem  1024-blocks  Used  Available  Capacity  Mounted on
291              /dev/sda6     2543714      13   2412169      0%     /k
292
293              (Note that this example shows that  one  can  add  command  line
294              options to the options given in /etc/fstab.)
295
296       check=none or nocheck
297              No  checking is done at mount time. This is the default. This is
298              fast.  It is wise to invoke e2fsck(8) every now and  then,  e.g.
299              at   boot   time.   The   non-default  behavior  is  unsupported
300              (check=normal and check=strict options have been removed).  Note
301              that these mount options don't have to be supported if ext4 ker‐
302              nel driver is used for ext2 and ext3 filesystems.
303
304       debug  Print debugging info upon each (re)mount.
305
306       errors={continue|remount-ro|panic}
307              Define the behavior  when  an  error  is  encountered.   (Either
308              ignore  errors  and  just mark the filesystem erroneous and con‐
309              tinue, or remount the filesystem read-only, or  panic  and  halt
310              the  system.)   The default is set in the filesystem superblock,
311              and can be changed using tune2fs(8).
312
313       grpid|bsdgroups and nogrpid|sysvgroups
314              These options define what group id a newly  created  file  gets.
315              When  grpid  is  set,  it takes the group id of the directory in
316              which it is created; otherwise (the default) it takes the  fsgid
317              of  the current process, unless the directory has the setgid bit
318              set, in which case it takes the gid from the  parent  directory,
319              and also gets the setgid bit set if it is a directory itself.
320
321       grpquota|noquota|quota|usrquota
322              The  usrquota  (same  as  quota) mount option enables user quota
323              support on the filesystem. grpquota enables  group  quotas  sup‐
324              port. You need the quota utilities to actually enable and manage
325              the quota system.
326
327       nouid32
328              Disables 32-bit UIDs and GIDs.   This  is  for  interoperability
329              with older kernels which only store and expect 16-bit values.
330
331       oldalloc or orlov
332              Use  old  allocator  or Orlov allocator for new inodes. Orlov is
333              default.
334
335       resgid=n and resuid=n
336              The ext2 filesystem reserves a certain percentage of the  avail‐
337              able space (by default 5%, see mke2fs(8) and tune2fs(8)).  These
338              options determine who can use the  reserved  blocks.   (Roughly:
339              whoever  has  the  specified  uid,  or  belongs to the specified
340              group.)
341
342       sb=n   Instead of using  the  normal  superblock,  use  an  alternative
343              superblock  specified  by  n.  This option is normally used when
344              the primary superblock has  been  corrupted.   The  location  of
345              backup  superblocks  is dependent on the filesystem's blocksize,
346              the  number  of  blocks  per  group,  and   features   such   as
347              sparse_super.
348
349              Additional  backup  superblocks  can  be determined by using the
350              mke2fs program using the  -n  option  to  print  out  where  the
351              superblocks  exist,  supposing mke2fs is supplied with arguments
352              that are consistent with the filesystem's  layout  (e.g.  block‐
353              size, blocks per group, sparse_super, etc.).
354
355              The  block  number here uses 1 k units. Thus, if you want to use
356              logical block  32768  on  a  filesystem  with  4 k  blocks,  use
357              "sb=131072".
358
359       user_xattr|nouser_xattr
360              Support "user." extended attributes (or not).
361
362
363

Mount options for ext3

365       The  ext3 filesystem is a version of the ext2 filesystem which has been
366       enhanced with journaling.  It supports the same options as ext2 as well
367       as the following additions:
368
369       journal_dev=devnum/journal_path=path
370              When  the  external  journal  device's  major/minor numbers have
371              changed, these options allow the user to specify the new journal
372              location.   The  journal device is identified either through its
373              new major/minor numbers encoded in devnum, or via a path to  the
374              device.
375
376       norecovery/noload
377              Don't load the journal on mounting.  Note that if the filesystem
378              was not unmounted cleanly, skipping the journal replay will lead
379              to  the  filesystem  containing inconsistencies that can lead to
380              any number of problems.
381
382       data={journal|ordered|writeback}
383              Specifies the journaling mode for file data.  Metadata is always
384              journaled.  To use modes other than ordered on the root filesys‐
385              tem, pass the mode to the kernel as boot parameter,  e.g.  root‐
386              flags=data=journal.
387
388              journal
389                     All  data  is  committed  into the journal prior to being
390                     written into the main filesystem.
391
392              ordered
393                     This is the default mode.  All data  is  forced  directly
394                     out  to  the main file system prior to its metadata being
395                     committed to the journal.
396
397              writeback
398                     Data ordering is not preserved – data may be written into
399                     the main filesystem after its metadata has been committed
400                     to the journal.  This is  rumoured  to  be  the  highest-
401                     throughput  option.   It  guarantees  internal filesystem
402                     integrity, however it can allow old  data  to  appear  in
403                     files after a crash and journal recovery.
404
405       data_err=ignore
406              Just  print  an  error message if an error occurs in a file data
407              buffer in ordered mode.
408
409       data_err=abort
410              Abort the journal if an error occurs in a file  data  buffer  in
411              ordered mode.
412
413       barrier=0 / barrier=1
414              This  disables  /  enables  the use of write barriers in the jbd
415              code.  barrier=0 disables,  barrier=1  enables  (default).  This
416              also requires an IO stack which can support barriers, and if jbd
417              gets an error on a barrier write, it will disable barriers again
418              with  a warning.  Write barriers enforce proper on-disk ordering
419              of journal commits, making volatile disk write  caches  safe  to
420              use,  at  some  performance penalty.  If your disks are battery-
421              backed in one way or  another,  disabling  barriers  may  safely
422              improve performance.
423
424       commit=nrsec
425              Start  a  journal commit every nrsec seconds.  The default value
426              is 5 seconds.  Zero means default.
427
428       user_xattr
429              Enable Extended User Attributes. See the attr(5) manual page.
430
431       jqfmt={vfsold|vfsv0|vfsv1}
432              Apart from the old quota system (as in  ext2,  jqfmt=vfsold  aka
433              version  1 quota) ext3 also supports journaled quotas (version 2
434              quota). jqfmt=vfsv0 or  jqfmt=vfsv1  enables  journaled  quotas.
435              Journaled  quotas  have the advantage that even after a crash no
436              quota check is required. When the quota  filesystem  feature  is
437              enabled, journaled quotas are used automatically, and this mount
438              option is ignored.
439
440       usrjquota=aquota.user|grpjquota=aquota.group
441              For journaled quotas (jqfmt=vfsv0  or  jqfmt=vfsv1),  the  mount
442              options  usrjquota=aquota.user  and  grpjquota=aquota.group  are
443              required to tell the quota system which quota database files  to
444              use.  When  the  quota  filesystem feature is enabled, journaled
445              quotas are used automatically, and this mount option is ignored.
446
447

Mount options for ext4

449       The ext4 filesystem is an advanced level of the ext3  filesystem  which
450       incorporates  scalability  and  reliability enhancements for supporting
451       large filesystem.
452
453       The options journal_dev, journal_path, norecovery, noload,  data,  com‐
454       mit,  orlov,  oldalloc, [no]user_xattr, [no]acl, bsddf, minixdf, debug,
455       errors,  data_err,  grpid,  bsdgroups,  nogrpid,  sysvgroups,   resgid,
456       resuid,  sb,  quota,  noquota,  nouid32, grpquota, usrquota, usrjquota,
457       grpjquota, and jqfmt are backwardly compatible with ext3 or ext2.
458
459       journal_checksum | nojournal_checksum
460              The journal_checksum option enables checksumming of the  journal
461              transactions.   This  will allow the recovery code in e2fsck and
462              the kernel to detect corruption in the kernel. It is a  compati‐
463              ble change and will be ignored by older kernels.
464
465       journal_async_commit
466              Commit block can be written to disk without waiting for descrip‐
467              tor blocks. If enabled older kernels cannot  mount  the  device.
468              This will enable 'journal_checksum' internally.
469
470       barrier=0 / barrier=1 / barrier / nobarrier
471              These  mount options have the same effect as in ext3.  The mount
472              options "barrier" and "nobarrier" are added for consistency with
473              other ext4 mount options.
474
475              The ext4 filesystem enables write barriers by default.
476
477       inode_readahead_blks=n
478              This tuning parameter controls the maximum number of inode table
479              blocks that ext4's inode table readahead algorithm will pre-read
480              into  the  buffer  cache.   The  value must be a power of 2. The
481              default value is 32 blocks.
482
483       stripe=n
484              Number of filesystem blocks that mballoc will  try  to  use  for
485              allocation  size  and alignment. For RAID5/6 systems this should
486              be the number of data disks *  RAID  chunk  size  in  filesystem
487              blocks.
488
489       delalloc
490              Deferring block allocation until write-out time.
491
492       nodelalloc
493              Disable  delayed  allocation.  Blocks are allocated when data is
494              copied from user to page cache.
495
496       max_batch_time=usec
497              Maximum amount of time ext4 should wait for additional  filesys‐
498              tem  operations  to  be  batch together with a synchronous write
499              operation. Since a synchronous write operation is going to force
500              a  commit  and then a wait for the I/O complete, it doesn't cost
501              much, and can be a huge throughput win,  we  wait  for  a  small
502              amount of time to see if any other transactions can piggyback on
503              the synchronous write. The algorithm used is designed  to  auto‐
504              matically  tune  for  the  speed  of  the disk, by measuring the
505              amount of time (on average) that it takes to finish committing a
506              transaction. Call this time the "commit time".  If the time that
507              the transaction has been running is less than the  commit  time,
508              ext4 will try sleeping for the commit time to see if other oper‐
509              ations will join the transaction. The commit time is  capped  by
510              the  max_batch_time,  which  defaults  to 15000 µs (15 ms). This
511              optimization   can   be   turned   off   entirely   by   setting
512              max_batch_time to 0.
513
514       min_batch_time=usec
515              This  parameter  sets the commit time (as described above) to be
516              at least  min_batch_time.  It  defaults  to  zero  microseconds.
517              Increasing  this  parameter may improve the throughput of multi-
518              threaded, synchronous workloads on very fast disks, at the  cost
519              of increasing latency.
520
521       journal_ioprio=prio
522              The  I/O priority (from 0 to 7, where 0 is the highest priority)
523              which should be used for I/O operations submitted by  kjournald2
524              during  a  commit  operation.   This  defaults  to 3, which is a
525              slightly higher priority than the default I/O priority.
526
527       abort  Simulate the effects of calling ext4_abort() for debugging  pur‐
528              poses.   This  is  normally  used  while remounting a filesystem
529              which is already mounted.
530
531       auto_da_alloc|noauto_da_alloc
532              Many broken applications don't use fsync() when replacing exist‐
533              ing files via patterns such as
534
535              fd  = open("foo.new")/write(fd,...)/close(fd)/ rename("foo.new",
536              "foo")
537
538              or worse yet
539
540              fd = open("foo", O_TRUNC)/write(fd,...)/close(fd).
541
542              If auto_da_alloc is enabled, ext4 will detect  the  replace-via-
543              rename  and  replace-via-truncate  patterns  and  force that any
544              delayed allocation blocks are allocated such that  at  the  next
545              journal  commit,  in  the  default  data=ordered  mode, the data
546              blocks of the new file are forced to disk  before  the  rename()
547              operation is committed.  This provides roughly the same level of
548              guarantees as ext3, and avoids the  "zero-length"  problem  that
549              can  happen  when a system crashes before the delayed allocation
550              blocks are forced to disk.
551
552       noinit_itable
553              Do not initialize any uninitialized inode table  blocks  in  the
554              background.  This  feature  may  be used by installation CD's so
555              that the install process can complete as  quickly  as  possible;
556              the  inode  table  initialization process would then be deferred
557              until the next time the filesystem is mounted.
558
559       init_itable=n
560              The lazy itable init code will wait n times the number  of  mil‐
561              liseconds  it  took to zero out the previous block group's inode
562              table. This minimizes the impact on system performance while the
563              filesystem's inode table is being initialized.
564
565       discard/nodiscard
566              Controls  whether ext4 should issue discard/TRIM commands to the
567              underlying block device when blocks are freed.  This  is  useful
568              for  SSD  devices  and sparse/thinly-provisioned LUNs, but it is
569              off by default until sufficient testing has been done.
570
571       block_validity/noblock_validity
572              This option enables/disables the in-kernel facility for tracking
573              filesystem metadata blocks within internal data structures. This
574              allows multi-block  allocator  and  other  routines  to  quickly
575              locate  extents  which  might  overlap  with filesystem metadata
576              blocks. This option is intended for debugging purposes and since
577              it negatively affects the performance, it is off by default.
578
579       dioread_lock/dioread_nolock
580              Controls whether or not ext4 should use the DIO read locking. If
581              the dioread_nolock option is specified ext4 will allocate unini‐
582              tialized  extent  before  buffer write and convert the extent to
583              initialized after IO completes.  This approach allows ext4  code
584              to  avoid  using inode mutex, which improves scalability on high
585              speed storages. However this does not work with data  journaling
586              and  dioread_nolock  option will be ignored with kernel warning.
587              Note that dioread_nolock code path is only used for extent-based
588              files.  Because of the restrictions this options comprises it is
589              off by default (e.g. dioread_lock).
590
591       max_dir_size_kb=n
592              This limits the size of the directories so that any  attempt  to
593              expand  them  beyond the specified limit in kilobytes will cause
594              an ENOSPC error. This is useful in  memory-constrained  environ‐
595              ments, where a very large directory can cause severe performance
596              problems or even provoke the Out Of Memory killer. (For example,
597              if there is only 512 MB memory available, a 176 MB directory may
598              seriously cramp the system's style.)
599
600       i_version
601              Enable 64-bit inode version  support.  This  option  is  off  by
602              default.
603
604       nombcache
605              This option disables use of mbcache for extended attribute dedu‐
606              plication. On systems where extended attributes  are  rarely  or
607              never  shared  between  files,  use of mbcache for deduplication
608              adds unnecessary computational overhead.
609
610       prjquota
611              The prjquota mount option enables project quota support  on  the
612              filesystem.  You need the quota utilities to actually enable and
613              manage the quota system.  This mount option requires the project
614              filesystem feature.
615
616

FILE ATTRIBUTES

618       The ext2, ext3, and ext4 filesystems support setting the following file
619       attributes on Linux systems using the chattr(1) utility:
620
621       a - append only
622
623       A - no atime updates
624
625       d - no dump
626
627       D - synchronous directory updates
628
629       i - immutable
630
631       S - synchronous updates
632
633       u - undeletable
634
635       In addition, the ext3 and ext4 filesystems support the following flag:
636
637       j - data journaling
638
639       Finally, the ext4 filesystem also supports the following flag:
640
641       e - extents format
642
643       For  descriptions  of  these  attribute  flags,  please  refer  to  the
644       chattr(1) man page.
645

KERNEL SUPPORT

647       This  section lists the file system driver (e.g., ext2, ext3, ext4) and
648       upstream kernel version where a particular file system feature was sup‐
649       ported.   Note  that  in  some cases the feature was present in earlier
650       kernel versions, but there were known, serious bugs.   In  other  cases
651       the feature may still be considered in an experimental state.  Finally,
652       note that some distributions may have backported  features  into  older
653       kernels;  in particular the kernel versions in certain "enterprise dis‐
654       tributions" can be extremely misleading.
655
656       filetype            ext2, 2.2.0
657
658       sparse_super        ext2, 2.2.0
659
660       large_file          ext2, 2.2.0
661
662       has_journal         ext3, 2.4.15
663
664       ext_attr            ext2/ext3, 2.6.0
665
666       dir_index           ext3, 2.6.0
667
668       resize_inode        ext3, 2.6.10 (online resizing)
669
670       64bit               ext4, 2.6.28
671
672       dir_nlink           ext4, 2.6.28
673
674       extent              ext4, 2.6.28
675
676       extra_isize         ext4, 2.6.28
677
678       flex_bg             ext4, 2.6.28
679
680       huge_file           ext4, 2.6.28
681
682       meta_bg             ext4, 2.6.28
683
684       uninit_bg           ext4, 2.6.28
685
686       mmp                 ext4, 3.0
687
688       bigalloc            ext4, 3.2
689
690       quota               ext4, 3.6
691
692       inline_data         ext4, 3.8
693
694       sparse_super2       ext4, 3.16
695
696       metadata_csum       ext4, 3.18
697
698       encrypt             ext4, 4.1
699
700       metadata_csum_seed  ext4, 4.4
701
702       project             ext4, 4.5
703
704       ea_inode            ext4, 4.13
705
706       large_dir           ext4, 4.13
707

SEE ALSO

709       mke2fs(8),   mke2fs.conf(5),   e2fsck(8),   dumpe2fs(8),    tune2fs(8),
710       debugfs(8), mount(8), chattr(1)
711
712
713
714E2fsprogs version 1.45.3           July 2019                           EXT4(5)
Impressum