TUNE2FS(8)                (August 2021)                TUNE2FS(8)

     NAME
          tune2fs - adjust tunable file system parameters on
          ext2/ext3/ext4 file systems

     SYNOPSIS
          tune2fs [ -l ] [ -c max-mount-counts ] [ -e errors-behavior
          ] [ -f ] [ -i interval-between-checks ] [ -I new_inode_size
          ] [ -j ] [ -J journal-options ] [ -m reserved-blocks-
          percentage ] [ -o [^]mount-options[,...]  ] [ -r reserved-
          blocks-count ] [ -u user ] [ -g group ] [ -C mount-count ] [
          -E extended-options ] [ -L volume-label ] [ -M last-
          mounted-directory ] [ -O [^]feature[,...]  ] [ -Q quota-
          options ] [ -T time-last-checked ] [ -U UUID ] [ -z
          undo_file ] device

     DESCRIPTION
          tune2fs allows the system administrator to adjust various
          tunable file system parameters on Linux ext2, ext3, or ext4
          file systems.  The current values of these options can be
          displayed by using the -l option to tune2fs(8) program, or
          by using the dumpe2fs(8) program.

          The device specifier can either be a filename (i.e.,
          /dev/sda1), or a LABEL or UUID specifier: "LABEL=volume-
          label" or "UUID=uuid".  (i.e., LABEL=home or UUID=e40486c6-
          84d5-4f2f-b99c-032281799c9d).

     OPTIONS
          -c max-mount-counts
               Adjust the number of mounts after which the file system
               will be checked by e2fsck(8).  If max-mount-counts is
               the string "random", tune2fs will use a random value
               between 20 and 40.  If max-mount-counts is 0 or -1, the
               number of times the file system is mounted will be dis-
               regarded by e2fsck(8) and the kernel.

               Staggering the mount-counts at which file systems are
               forcibly checked will avoid all file systems being
               checked at one time when using journaled file systems.

               Mount-count-dependent checking is disabled by default
               to avoid unanticipated long reboots while e2fsck does
               its work.  If you are concerned about file system cor-
               ruptions caused by potential hardware problems of ker-
               nel bugs, a better solution than mount-count-dependent
               checking is to use the e2scrub(8) program.  This does
               require placing the file system on an LVM volume, how-
               ever.

          -C mount-count

     Page 1              E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

               Set the number of times the file system has been
               mounted.  If set to a greater value than the max-
               mount-counts parameter set by the -c option, e2fsck(8)
               will check the file system at the next reboot.

          -e error-behavior
               Change the behavior of the kernel code when errors are
               detected.  In all cases, a file system error will cause
               e2fsck(8) to check the file system on the next boot.
               error-behavior can be one of the following:

                      continue    Continue normal execution.

                      remount-ro  Remount file system read-only.

                      panic       Cause a kernel panic.

          -E extended-options
               Set extended options for the file system.  Extended
               options are comma separated, and may take an argument
               using the equals ('=') sign.  The following extended
               options are supported:

                      clear_mmp
                           Reset the MMP block (if any) back to the
                           clean state.  Use only if absolutely cer-
                           tain the device is not currently mounted or
                           being fscked, or major file system corrup-
                           tion can result.  Needs '-f'.

                      mmp_update_interval=interval
                           Adjust the initial MMP update interval to
                           interval seconds.  Specifying an interval
                           of 0 means to use the default interval.
                           The specified interval must be less than
                           300 seconds.  Requires that the mmp feature
                           be enabled.

                      stride=stride-size
                           Configure the file system for a RAID array
                           with stride-size file system blocks. This
                           is the number of blocks read or written to
                           disk before moving to next disk. This
                           mostly affects placement of file system
                           metadata like bitmaps at mke2fs(2) time to
                           avoid placing them on a single disk, which
                           can hurt the performance.  It may also be
                           used by block allocator.

                      stripe_width=stripe-width
                           Configure the file system for a RAID array
                           with stripe-width file system blocks per

     Page 2              E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

                           stripe. This is typically be stride-size *
                           N, where N is the number of data disks in
                           the RAID (e.g. RAID 5 N+1, RAID 6 N+2).
                           This allows the block allocator to prevent
                           read-modify-write of the parity in a RAID
                           stripe if possible when the data is writ-
                           ten.

                      hash_alg=hash-alg
                           Set the default hash algorithm used for
                           file systems with hashed b-tree directo-
                           ries.  Valid algorithms accepted are:
                           legacy, half_md4, and tea.

                      encoding=encoding-name
                           Enable the casefold feature in the super
                           block and set encoding-name as the encoding
                           to be used.  If encoding-name is not speci-
                           fied, utf8 is used. The encoding cannot be
                           altered if casefold was previously enabled.

                      encoding_flags=encoding-flags
                           Define parameters for file name character
                           encoding operations.  If a flag is not
                           changed using this parameter, its default
                           value is used.  encoding-flags should be a
                           comma-separated lists of flags to be
                           enabled.  The flags cannot be altered if
                           casefold was previously enabled.

                           The only flag that can be set right now is
                           strict which means that invalid strings
                           should be rejected by the file system.  In
                           the default configuration, the strict flag
                           is disabled.

                      mount_opts=mount_option_string
                           Set a set of default mount options which
                           will be used when the file system is
                           mounted.  Unlike the bitmask-based default
                           mount options which can be specified with
                           the -o option, mount_option_string is an
                           arbitrary string with a maximum length of
                           63 bytes, which is stored in the
                           superblock.

                           The ext4 file system driver will first
                           apply the bitmask-based default options,
                           and then parse the mount_option_string,
                           before parsing the mount options passed
                           from the mount(8) program.

     Page 3              E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

                           This superblock setting is only honored in
                           2.6.35+ kernels; and not at all by the ext2
                           and ext3 file system drivers.

                      force_fsck
                           Set a flag in the file system superblock
                           indicating that errors have been found.
                           This will force fsck to run at the next
                           mount.

                      test_fs
                           Set a flag in the file system superblock
                           indicating that it may be mounted using
                           experimental kernel code, such as the
                           ext4dev file system.

                      ^test_fs
                           Clear the test_fs flag, indicating the file
                           system should only be mounted using
                           production-level file system code.

          -f   Force the tune2fs operation to complete even in the
               face of errors.  This option is useful when removing
               the has_journal file system feature from a file system
               which has an external journal (or is corrupted such
               that it appears to have an external journal), but that
               external journal is not available.   If the file system
               appears to require journal replay, the -f flag must be
               specified twice to proceed.

               WARNING: Removing an external journal from a file sys-
               tem which was not cleanly unmounted without first
               replaying the external journal can result in severe
               data loss and file system corruption.

          -g group
               Set the group which can use the reserved file system
               blocks.  The group parameter can be a numerical gid or
               a group name.  If a group name is given, it is con-
               verted to a numerical gid before it is stored in the
               superblock.

          -i  interval-between-checks[d|m|w]
               Adjust the maximal time between two file system checks.
               No suffix or d will interpret the number interval-
               between-checks as days, m as months, and w as weeks.  A
               value of zero will disable the time-dependent checking.

               There are pros and cons to disabling these periodic
               checks; see the discussion under the -c (mount-count-
               dependent check) option for details.

     Page 4              E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

          -I   Change the inode size used by the file system.   This
               requires rewriting the inode table, so it requires that
               the file system is checked for consistency first using
               e2fsck(8).  This operation can also take a while and
               the file system can be corrupted and data lost if it is
               interrupted while in the middle of converting the file
               system.  Backing up the file system before changing
               inode size is recommended.

               File systems with an inode size of 128 bytes do not
               support timestamps beyond January 19, 2038.  Inodes
               which are 256 bytes or larger will support extended
               timestamps, project id's, and the ability to store some
               extended attributes in the inode table for improved
               performance.

          -j   Add an ext3 journal to the file system.  If the -J
               option is not specified, the default journal parameters
               will be used to create an appropriately sized journal
               (given the size of the file system) stored within the
               file system.  Note that you must be using a kernel
               which has ext3 support in order to actually make use of
               the journal.

               If this option is used to create a journal on a mounted
               file system, an immutable file, .journal, will be cre-
               ated in the top-level directory of the file system, as
               it is the only safe way to create the journal inode
               while the file system is mounted.  While the ext3 jour-
               nal is visible, it is not safe to delete it, or modify
               it while the file system is mounted; for this reason
               the file is marked immutable.  While checking unmounted
               file systems, e2fsck(8) will automatically move
               .journal files to the invisible, reserved journal
               inode.  For all file systems except for the root file
               system,  this should happen automatically and naturally
               during the next reboot cycle.  Since the root file sys-
               tem is mounted read-only, e2fsck(8) must be run from a
               rescue floppy in order to effect this transition.

               On some distributions, such as Debian, if an initial
               ramdisk is used, the initrd scripts will automatically
               convert an ext2 root file system to ext3 if the
               /etc/fstab file specifies the ext3 file system for the
               root file system in order to avoid requiring the use of
               a rescue floppy to add an ext3 journal to the root file
               system.

          -J journal-options
               Override the default ext3 journal parameters. Journal
               options are comma separated, and may take an argument
               using the equals ('=')  sign.  The following journal

     Page 5              E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

               options are supported:

                      size=journal-size
                           Create a journal stored in the file system
                           of size journal-size megabytes.   The size
                           of the journal must be at least 1024 file
                           system blocks (i.e., 1MB if using 1k
                           blocks, 4MB if using 4k blocks, etc.)  and
                           may be no more than 10,240,000 file system
                           blocks.  There must be enough free space in
                           the file system to create a journal of that
                           size.

                      fast_commit_size=fast-commit-size
                           Create an additional fast commit journal
                           area of size fast-commit-size kilobytes.
                           This option is only valid if fast_commit
                           feature is enabled on the file system. If
                           this option is not specified and if
                           fast_commit feature is turned on, fast com-
                           mit area size defaults to journal-size / 64
                           megabytes. The total size of the journal
                           with fast_commit feature set is journal-
                           size + ( fast-commit-size * 1024) mega-
                           bytes. The total journal size may be no
                           more than 10,240,000 file system blocks or
                           half the total file system size (whichever
                           is smaller).

                      location=journal-location
                           Specify the location of the journal.  The
                           argument journal-location can either be
                           specified as a block number, or if the num-
                           ber has a units suffix (e.g., 'M', 'G',
                           etc.) interpret it as the offset from the
                           beginning of the file system.

                      device=external-journal
                           Attach the file system to the journal block
                           device located on external-journal. The
                           external journal must have been already
                           created using the command

                           mke2fs -O journal_dev external-journal

                           Note that external-journal must be format-
                           ted with the same block size as file sys-
                           tems which will be using it.  In addition,
                           while there is support for attaching multi-
                           ple file systems to a single external jour-
                           nal, the Linux kernel and e2fsck(8) do not
                           currently support shared external journals

     Page 6              E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

                           yet.

                           Instead of specifying a device name
                           directly, external-journal can also be
                           specified by either LABEL=label or
                           UUID=UUID to locate the external journal by
                           either the volume label or UUID stored in
                           the ext2 superblock at the start of the
                           journal.  Use dumpe2fs(8) to display a
                           journal device's volume label and UUID.
                           See also the -L option of tune2fs(8).

               Only one of the size or device options can be given for
               a file system.

          -l   List the contents of the file system superblock,
               including the current values of the parameters that can
               be set via this program.

          -L volume-label
               Set the volume label of the file system.  Ext2 file
               system labels can be at most 16 characters long; if
               volume-label is longer than 16 characters, tune2fs will
               truncate it and print a warning.  The volume label can
               be used by mount(8), fsck(8), and /etc/fstab(5) (and
               possibly others) by specifying LABEL=volume-label
               instead of a block special device name like /dev/hda5.

          -m reserved-blocks-percentage
               Set the percentage of the file system which may only be
               allocated by privileged processes.   Reserving some
               number of file system blocks for use by privileged pro-
               cesses is done to avoid file system fragmentation, and
               to allow system daemons, such as syslogd(8), to con-
               tinue to function correctly after non-privileged pro-
               cesses are prevented from writing to the file system.
               Normally, the default percentage of reserved blocks is
               5%.

          -M last-mounted-directory
               Set the last-mounted directory for the file system.

          -o [^]mount-option[,...]
               Set or clear the indicated default mount options in the
               file system.  Default mount options can be overridden
               by mount options specified either in /etc/fstab(5) or
               on the command line arguments to mount(8).  Older ker-
               nels may not support this feature; in particular, ker-
               nels which predate 2.4.20 will almost certainly ignore
               the default mount options field in the superblock.

               More than one mount option can be cleared or set by

     Page 7              E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

               separating features with commas.  Mount options pre-
               fixed with a caret character ('^') will be cleared in
               the file system's superblock; mount options without a
               prefix character or prefixed with a plus character
               ('+') will be added to the file system.

               The following mount options can be set or cleared using
               tune2fs:

                      debug
                           Enable debugging code for this file system.

                      bsdgroups
                           Emulate BSD behavior when creating new
                           files: they will take the group-id of the
                           directory in which they were created.  The
                           standard System V behavior is the default,
                           where newly created files take on the fsgid
                           of the current process, unless the direc-
                           tory has the setgid bit set, in which case
                           it takes the gid from the parent directory,
                           and also gets the setgid bit set if it is a
                           directory itself.

                      user_xattr
                           Enable user-specified extended attributes.

                      acl  Enable Posix Access Control Lists.

                      uid16
                           Disables 32-bit UIDs and GIDs.  This is for
                           interoperability with older kernels which
                           only store and expect 16-bit values.

                      journal_data
                           When the file system is mounted with jour-
                           naling enabled, all data (not just meta-
                           data) is committed into the journal prior
                           to being written into the main file system.

                      journal_data_ordered
                           When the file system is mounted with jour-
                           naling enabled, all data is forced directly
                           out to the main file system prior to its
                           metadata being committed to the journal.

                      journal_data_writeback
                           When the file system is mounted with jour-
                           naling enabled, data may be written into
                           the main file system after its metadata has
                           been committed to the journal.  This may
                           increase throughput, however, it may allow

     Page 8              E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

                           old data to appear in files after a crash
                           and journal recovery.

                      nobarrier
                           The file system will be mounted with bar-
                           rier operations in the journal disabled.
                           (This option is currently only supported by
                           the ext4 file system driver in 2.6.35+ ker-
                           nels.)

                      block_validity
                           The file system will be mounted with the
                           block_validity option enabled, which causes
                           extra checks to be performed after reading
                           or writing from the file system.  This pre-
                           vents corrupted metadata blocks from caus-
                           ing file system damage by overwriting parts
                           of the inode table or block group descrip-
                           tors.  This comes at the cost of increased
                           memory and CPU overhead, so it is enabled
                           only for debugging purposes.  (This option
                           is currently only supported by the ext4
                           file system driver in 2.6.35+ kernels.)

                      discard
                           The file system will be mounted with the
                           discard mount option.  This will cause the
                           file system driver to attempt to use the
                           trim/discard feature of some storage
                           devices (such as SSD's and thin-provisioned
                           drives available in some enterprise storage
                           arrays) to inform the storage device that
                           blocks belonging to deleted files can be
                           reused for other purposes.  (This option is
                           currently only supported by the ext4 file
                           system driver in 2.6.35+ kernels.)

                      nodelalloc
                           The file system will be mounted with the
                           nodelalloc mount option.  This will disable
                           the delayed allocation feature.  (This
                           option is currently only supported by the
                           ext4 file system driver in 2.6.35+ ker-
                           nels.)

          -O [^]feature[,...]
               Set or clear the indicated file system features
               (options) in the file system.  More than one file sys-
               tem feature can be cleared or set by separating fea-
               tures with commas.  File System features prefixed with
               a caret character ('^') will be cleared in the file
               system's superblock; file system features without a

     Page 9              E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

               prefix character or prefixed with a plus character
               ('+') will be added to the file system.  For a detailed
               description of the file system features, please see the
               man page ext4(5).

               The following file system features can be set or
               cleared using tune2fs:

                      64bit
                           Enable the file system to be larger than
                           2^32 blocks.

                      casefold
                           Enable support for file system level case-
                           folding.  Tune2fs currently only supports
                           setting this file system feature.

                      dir_index
                           Use hashed b-trees to speed up lookups for
                           large directories.

                      dir_nlink
                           Allow more than 65000 subdirectories per
                           directory.

                      ea_inode
                           Allow the value of each extended attribute
                           to be placed in the data blocks of a sepa-
                           rate inode if necessary, increasing the
                           limit on the size and number of extended
                           attributes per file.  Tune2fs currently
                           only supports setting this file system fea-
                           ture.

                      encrypt
                           Enable support for file system level
                           encryption.  Tune2fs currently only sup-
                           ports setting this file system feature.

                      extent
                           Enable the use of extent trees to store the
                           location of data blocks in inodes.  Tune2fs
                           currently only supports setting this file
                           system feature.

                      extra_isize
                           Enable the extended inode fields used by
                           ext4.

                      filetype
                           Store file type information in directory
                           entries.

     Page 10             E2fsprogs version 1.46.4    (printed 5/25/22)

     TUNE2FS(8)                (August 2021)                TUNE2FS(8)

                      flex_bg
                           Allow bitmaps and inode tables for a block
                           group to be placed anywhere on the storage
                           media.  Tune2fs will not reorganize the
                           location of the inode tables and allocation
                           bitmaps, as mke2fs(8) will do when it cre-
                           ates a freshly formatted file system with
                           flex_bg enabled.

                      has_journal
                           Use a journal to ensure file system consis-
                           tency even across unclean shutdowns.  Set-
                           ting the file system feature is equivalent
                           to using the -j option.

          debugfs(8), dumpe2fs(8), e2fsck(8), mke2fs(8), ext4(5)

     Page 11             E2fsprogs version 1.46.4    (printed 5/25/22)