From: Eric Sandeen Subject: Re: [PATCH] e2fsprogs: tune2fs manpage updates Date: Mon, 25 Nov 2013 11:03:27 -0600 Message-ID: <529382DF.2040109@redhat.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit To: Uri Corin , linux-ext4@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:6024 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754591Ab3KYRDb (ORCPT ); Mon, 25 Nov 2013 12:03:31 -0500 In-Reply-To: Sender: linux-ext4-owner@vger.kernel.org List-ID: On 11/23/13, 7:32 PM, Uri Corin wrote: > Hi, > > I've extended the "Feature" section of the tune2fs manpage to include > all recognized arguments, as defined in > http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/log/lib/e2p/feature.c > - last updated 2012-08-07. > > Going by a recent build of the kernel (3.12), I've marked several > features as removed, not yet implemented, or implemented by > non-upstream kernel. > > I've provided minimal explanations, relying heavily on > ext4.wiki.kernel.org, and referenced each feature's defined constant > to ease further inquiries. > > My understanding of EXT filesystems is very lacking and this is my > first experience in both formatting a manpage and submitting patches. > Corrections and general feedback would be greatly appreciated. > > Regards, > Uri Corin > uri.corin@gmail.com Hi Uri, thanks for looking into this. First of all, it's best to send a patch, not a new full version. To create the patch, it'd be easiest to use git. # git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git # cd e2fsprogs.git # vim ./misc/tune2fs.8.in # git diff ./misc/tune2fs.8.in > mypatch Send the contents of mypatch in the body of your patch email. However, from a quick look I think you have included features which cannot actually be set or cleared by tune2fs after the filesystem is created. These are the features which can be set: static __u32 ok_features[3] = { /* Compat */ EXT3_FEATURE_COMPAT_HAS_JOURNAL | EXT2_FEATURE_COMPAT_DIR_INDEX, /* Incompat */ EXT2_FEATURE_INCOMPAT_FILETYPE | EXT3_FEATURE_INCOMPAT_EXTENTS | EXT4_FEATURE_INCOMPAT_FLEX_BG | EXT4_FEATURE_INCOMPAT_MMP, /* R/O compat */ EXT2_FEATURE_RO_COMPAT_LARGE_FILE | EXT4_FEATURE_RO_COMPAT_HUGE_FILE| EXT4_FEATURE_RO_COMPAT_DIR_NLINK| EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE| EXT4_FEATURE_RO_COMPAT_GDT_CSUM | EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER | #ifdef CONFIG_QUOTA EXT4_FEATURE_RO_COMPAT_QUOTA | #endif EXT4_FEATURE_RO_COMPAT_METADATA_CSUM }; and these are the ones which can be cleared: static __u32 clear_ok_features[3] = { /* Compat */ EXT3_FEATURE_COMPAT_HAS_JOURNAL | EXT2_FEATURE_COMPAT_RESIZE_INODE | EXT2_FEATURE_COMPAT_DIR_INDEX, /* Incompat */ EXT2_FEATURE_INCOMPAT_FILETYPE | EXT4_FEATURE_INCOMPAT_FLEX_BG | EXT4_FEATURE_INCOMPAT_MMP, /* R/O compat */ EXT2_FEATURE_RO_COMPAT_LARGE_FILE | EXT4_FEATURE_RO_COMPAT_HUGE_FILE| EXT4_FEATURE_RO_COMPAT_DIR_NLINK| EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE| EXT4_FEATURE_RO_COMPAT_GDT_CSUM | #ifdef CONFIG_QUOTA EXT4_FEATURE_RO_COMPAT_QUOTA | #endif EXT4_FEATURE_RO_COMPAT_METADATA_CSUM }; others are rejected; i.e.: $ tune2fs -O 64bit fsfile tune2fs 1.42.4 (12-June-2012) Setting filesystem feature '64bit' not supported. Before adding any of these to the manpage, you should test them to be sure it's accurate. :) Thanks, -Eric > --- > > .\" Revision 1.0 93/06/3 23:00 chk > .\" Initial revision > .\" > .\" > .TH TUNE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version > @E2FSPROGS_VERSION@" > .SH NAME > tune2fs \- adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems > .SH SYNOPSIS > .B tune2fs > [ > .B \-l > ] > [ > .B \-c > .I max-mount-counts > ] > [ > .B \-e > .I errors-behavior > ] > [ > .B \-f > ] > [ > .B \-i > .I interval-between-checks > ] > [ > .B \-j > ] > [ > .B \-J > .I journal-options > ] > [ > .B \-m > .I reserved-blocks-percentage > ] > [ > .B \-o > .RI [^]mount-options [,...] > ] > [ > .B \-r > .I reserved-blocks-count > ] > [ > .B \-s > .I sparse-super-flag > ] > [ > .B \-u > .I user > ] > [ > .B \-g > .I group > ] > [ > .B \-C > .I mount-count > ] > [ > .B \-E > .I extended-options > ] > [ > .B \-L > .I volume-name > ] > [ > .B \-M > .I last-mounted-directory > ] > [ > .B \-O > .RI [^] feature [,...] > ] > [ > .B \-Q > .I quota-options > ] > [ > .B \-T > .I time-last-checked > ] > [ > .B \-U > .I UUID > ] > device > .SH DESCRIPTION > .BI tune2fs > allows the system administrator to adjust various tunable filesystem > parameters on Linux ext2, ext3, or ext4 filesystems. The current values > of these options can be displayed by using the > .B -l > option to > .BR tune2fs (8) > program, or by using the > .BR dumpe2fs (8) > program. > .PP > The > .I device > specifier can either be a filename (i.e., /dev/sda1), or a LABEL or UUID > specifier: "\fBLABEL=\fIvolume-name\fR" or "\fBUUID=\fIuuid\fR". (i.e., > LABEL=home or UUID=e40486c6-84d5-4f2f-b99c- > 032281799c9d). > .SH OPTIONS > .TP > .BI \-c " max-mount-counts" > Adjust the number of mounts after which the filesystem will be checked by > .BR e2fsck (8). > If > .I max-mount-counts > is 0 or \-1, the number of times the filesystem is mounted will be disregarded > by > .BR e2fsck (8) > and the kernel. > .sp > Staggering the mount-counts at which filesystems are forcibly > checked will avoid all filesystems being checked at one time > when using journaled filesystems. > .sp > You should strongly consider the consequences of disabling > mount-count-dependent checking entirely. Bad disk drives, cables, > memory, and kernel bugs could all corrupt a filesystem without > marking the filesystem dirty or in error. If you are using > journaling on your filesystem, your filesystem will > .B never > be marked dirty, so it will not normally be checked. A > filesystem error detected by the kernel will still force > an fsck on the next reboot, but it may already be too late > to prevent data loss at that point. > .sp > See also the > .B \-i > option for time-dependent checking. > .TP > .BI \-C " mount-count" > Set the number of times the filesystem has been mounted. > If set to a greater value than the max-mount-counts parameter > set by the > .B \-c > option, > .BR e2fsck (8) > will check the filesystem at the next reboot. > .TP > .BI \-e " error-behavior" > Change the behavior of the kernel code when errors are detected. > In all cases, a filesystem error will cause > .BR e2fsck (8) > to check the filesystem on the next boot. > .I error-behavior > can be one of the following: > .RS 1.2i > .TP 1.2i > .B continue > Continue normal execution. > .TP > .B remount-ro > Remount filesystem read-only. > .TP > .B panic > Cause a kernel panic. > .RE > .TP > .BI \-E " extended-options" > Set extended options for the filesystem. Extended options are comma > separated, and may take an argument using the equals ('=') sign. > The following extended options are supported: > .RS 1.2i > .TP > .B clear_mmp > Reset the MMP block (if any) back to the clean state. Use only if > absolutely certain the device is not currently mounted or being > fscked, or major filesystem corruption can result. Needs '-f'. > .TP > .BI mmp_update_interval= interval > Adjust the initial MMP update interval to > .I interval > seconds. Specifying an > .I interval > of 0 means to use the default interval. The specified interval must > be less than 300 seconds. Requires that the > .B mmp > feature be enabled. > .TP > .BI stride= stride-size > Configure the filesystem for a RAID array with > .I stride-size > filesystem blocks. This is the number of blocks read or written to disk > before moving to next disk. This mostly affects placement of filesystem > metadata like bitmaps at > .BR mke2fs (2) > time to avoid placing them on a single disk, which can hurt the performance. > It may also be used by block allocator. > .TP > .BI stripe_width= stripe-width > Configure the filesystem for a RAID array with > .I stripe-width > filesystem blocks per 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 written. > .TP > .BI hash_alg= hash-alg > Set the default hash algorithm used for filesystems with hashed b-tree > directories. Valid algorithms accepted are: > .IR legacy , > .IR half_md4 , > and > .IR tea . > .TP > .BI 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 > .B -o > option, > .I mount_option_string > is an arbitrary string with a maximum length of 63 bytes, which is > stored in the superblock. > .IP > The ext4 file system driver will first apply > the bitmask-based default options, and then parse the > .IR mount_option_string , > before parsing the mount options passed from the > .BR mount (8) > program. > .IP > This superblock setting is only honored in 2.6.35+ kernels; > and not at all by the ext2 and ext3 file system drivers. > .TP > .B test_fs > Set a flag in the filesystem superblock indicating that it may be > mounted using experimental kernel code, such as the ext4dev filesystem. > .TP > .B ^test_fs > Clear the test_fs flag, indicating the filesystem should only be mounted > using production-level filesystem code. > .RE > .TP > .B \-f > Force the tune2fs operation to complete even in the face of errors. This > option is useful when removing the > .B has_journal > filesystem feature from a filesystem which has > an external journal (or is corrupted > such that it appears to have an external journal), but that > external journal is not available. > .sp > .B WARNING: > Removing an external journal from a filesystem which was not cleanly unmounted > without first replaying the external journal can result in > severe data loss and filesystem corruption. > .TP > .BI \-g " group" > Set the group which can use the reserved filesystem blocks. > The > .I group > parameter can be a numerical gid or a group name. If a group name is given, > it is converted to a numerical gid before it is stored in the superblock. > .TP > .B \-i " \fIinterval-between-checks\fR[\fBd\fR|\fBm\fR|\fBw\fR]" > Adjust the maximal time between two filesystem checks. > No suffix or > .B d > will interpret the number > .I interval-between-checks > as days, > .B m > as months, and > .B w > as weeks. A value of zero will disable the time-dependent checking. > .sp > It is strongly recommended that either > .B \-c > (mount-count-dependent) or > .B \-i > (time-dependent) checking be enabled to force periodic full > .BR e2fsck (8) > checking of the filesystem. Failure to do so may lead to filesystem > corruption (due to bad disks, cables, memory, or kernel bugs) going > unnoticed, ultimately resulting in data loss or corruption. > .TP > .B \-j > Add an ext3 journal to the filesystem. If the > .B \-J > option is not specified, the default journal parameters will be used to create > an appropriately sized journal (given the size of the filesystem) > stored within the filesystem. Note that you must be using a kernel > which has ext3 support in order to actually make use of the journal. > .IP > If this option is used to create a journal on a mounted filesystem, an > immutable file, > .BR .journal , > will be created in the top-level directory of the filesystem, as it is > the only safe way to create the journal inode while the filesystem is > mounted. While the ext3 journal is visible, it is not safe to > delete it, or modify it while the filesystem is mounted; for this > reason the file is marked immutable. > While checking unmounted filesystems, > .BR e2fsck (8) > will automatically move > .B .journal > files to the invisible, reserved journal inode. For all filesystems > except for the root filesystem, this should happen automatically and > naturally during the next reboot cycle. Since the root filesystem is > mounted read-only, > .BR e2fsck (8) > must be run from a rescue floppy in order to effect this transition. > .IP > On some distributions, such as Debian, if an initial ramdisk is used, > the initrd scripts will automatically convert an ext2 root filesystem > to ext3 if the > .BR /etc/fstab > file specifies the ext3 filesystem for the root filesystem in order to > avoid requiring the use of a rescue floppy to add an ext3 journal to > the root filesystem. > .TP > .BR \-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 options are supported: > .RS 1.2i > .TP > .BI size= journal-size > Create a journal stored in the filesystem of size > .I journal-size > megabytes. The size of the journal must be at least 1024 filesystem blocks > (i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.) > and may be no more than 102,400 filesystem blocks. > There must be enough free space in the filesystem to create a journal of > that size. > @JDEV@.TP > @JDEV@.BI device= external-journal > @JDEV@Attach the filesystem to the journal block device located on > @JDEV@.IR external-journal . > @JDEV@The external > @JDEV@journal must have been already created using the command > @JDEV@.IP > @JDEV@.B mke2fs -O journal_dev > @JDEV@.I external-journal > @JDEV@.IP > @JDEV@Note that > @JDEV@.I external-journal > @JDEV@must be formatted with the same block > @JDEV@size as filesystems which will be using it. > @JDEV@In addition, while there is support for attaching > @JDEV@multiple filesystems to a single external journal, > @JDEV@the Linux kernel and > @JDEV@.BR e2fsck (8) > @JDEV@do not currently support shared external journals yet. > @JDEV@.IP > @JDEV@Instead of specifying a device name directly, > @JDEV@.I external-journal > @JDEV@can also be specified by either > @JDEV@.BI LABEL= label > @JDEV@or > @JDEV@.BI UUID= UUID > @JDEV@to locate the external journal by either the volume label or UUID > @JDEV@stored in the ext2 superblock at the start of the journal. Use > @JDEV@.BR dumpe2fs (8) > @JDEV@to display a journal device's volume label and UUID. See also the > @JDEV@.B -L > @JDEV@option of > @JDEV@.BR tune2fs (8). > .RE > @JDEV@.IP > @JDEV@Only one of the > @JDEV@.BR size " or " device > @JDEV@options can be given for a filesystem. > .TP > .B \-l > List the contents of the filesystem superblock, including the current > values of the parameters that can be set via this program. > .TP > .BI \-L " volume-label" > Set the volume label of the filesystem. > Ext2 filesystem labels can be at most 16 characters long; if > .I volume-label > is longer than 16 characters, > .B tune2fs > will truncate it and print a warning. The volume label can be used > by > .BR mount (8), > .BR fsck (8), > and > .BR /etc/fstab (5) > (and possibly others) by specifying > .BI LABEL= volume_label > instead of a block special device name like > .BR /dev/hda5 . > .TP > .BI \-m " reserved-blocks-percentage" > Set the percentage of the filesystem which may only be allocated > by privileged processes. Reserving some number of filesystem blocks > for use by privileged processes is done > to avoid filesystem fragmentation, and to allow system > daemons, such as > .BR syslogd (8), > to continue to function correctly after non-privileged processes are > prevented from writing to the filesystem. Normally, the default percentage > of reserved blocks is 5%. > .TP > .BI \-M " last-mounted-directory" > Set the last-mounted directory for the filesystem. > .TP > .BR \-o " [^]\fImount-option\fR[,...]" > Set or clear the indicated default mount options in the filesystem. > Default mount options can be overridden by mount options specified > either in > .BR /etc/fstab (5) > or on the command line arguments to > .BR mount (8). > Older kernels may not support this feature; in particular, > kernels which predate 2.4.20 will almost certainly ignore the > default mount options field in the superblock. > .IP > More than one mount option can be cleared or set by separating > features with commas. Mount options prefixed with a > caret character ('^') will be cleared in the filesystem's superblock; > mount options without a prefix character or prefixed with a plus > character ('+') will be added to the filesystem. > .IP > The following mount options can be set or cleared using > .BR tune2fs : > .RS 1.2i > .TP > .B debug > Enable debugging code for this filesystem. > .TP > .B 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 directory 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. > .TP > .B user_xattr > Enable user-specified extended attributes. > .TP > .B acl > Enable Posix Access Control Lists. > .TP > .B uid16 > Disables 32-bit UIDs and GIDs. This is for interoperability with > older kernels which only store and expect 16-bit values. > .TP > .B journal_data > When the filesystem is mounted with journalling enabled, all data > (not just metadata) is committed into the journal prior to being written > into the main filesystem. > .TP > .B journal_data_ordered > When the filesystem is mounted with journalling enabled, all data is forced > directly out to the main file system prior to its metadata being committed > to the journal. > .TP > .B journal_data_writeback > When the filesystem is mounted with journalling enabled, data may be > written into the main filesystem after its metadata has been committed > to the journal. This may increase throughput, however, it may allow old > data to appear in files after a crash and journal recovery. > .TP > .B nobarrier > The file system will be mounted with barrier operations in the journal > disabled. (This option is currently only supported by the ext4 file > system driver in 2.6.35+ kernels.) > .TP > .B 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 prevents corrupted metadata blocks from causing > file system damage by overwriting parts of the inode table or block > group descriptors. 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.) > .TP > .B 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.) > .TP > .B 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+ kernels.) > .RE > .TP > .BR \-O " [^]\fIfeature\fR[,...]" > Set or clear the indicated filesystem features (options) in the filesystem. > More than one filesystem feature can be cleared or set by separating > features with commas. Filesystem features prefixed with a > caret character ('^') will be cleared in the filesystem's superblock; > filesystem features without a prefix character or prefixed with a plus > character ('+') will be added to the filesystem. > .IP > Features are represented in the kernel by the appended "Constant" value. > .IP > The following filesystem features can be set or cleared using > .BR tune2fs : > .RS 1.2i > .TP > .B 64bit > .br > Constant EXT4_FEATURE_INCOMPAT_64BIT. > .br > Enable a filesystem size of 2^64 blocks. > .TP > .B bigalloc > .br > Constant EXT4_FEATURE_RO_COMPAT_BIGALLOC. > .br > File extents are tracked in units of clusters (of blocks) instead of blocks. > .br > May clash with delayed allocation (see > .BR nodelalloc ). > .TP > .B compression > .br > Constant EXT2_FEATURE_INCOMPAT_COMPRESSION. > .TP > .B dirdata > .br > Constant EXT4_FEATURE_INCOMPAT_DIRDATA. > .br > Data in directory entry. > .br > Not implemented. > .TP > .B dir_index > .br > Constant EXT2_FEATURE_COMPAT_DIR_INDEX. > .br > Use hashed b-trees to speed up lookups in large directories. > .TP > .B dir_nlink > .br > Constant EXT4_FEATURE_RO_COMPAT_DIR_NLINK. > .br > Allow more than 65000 subdirectories per directory. > .TP > .B dir_prealloc > .br > Constant EXT2_FEATURE_COMPAT_DIR_PREALLOC. > .br > Block pre-allocation for new directories > .TP > .B ea_inode > .br > Constant EXT4_FEATURE_INCOMPAT_EA_INODE. > .br > Inodes can be used for large extended attributes. > .br > Not implemented. > .TP > .B extent, extents > .br > Constant EXT3_FEATURE_INCOMPAT_EXTENTS. > .br > Instead of using the indirect block scheme for storing the location of > data blocks in an inode, use extents instead. > .br > This is a much more efficient encoding which speeds up filesystem > access, especially for large files. > .TP > .B extra_isize > .br > Constant EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE. > .br > Nanosecond timestamps and creation time. > .TP > .B ext_attr > .br > Constant EXT2_FEATURE_COMPAT_EXT_ATTR. > .br > Extended attribute blocks. > .TP > .B filetype > .br > Constant EXT2_FEATURE_INCOMPAT_FILETYPE. > .br > Store file type information in directory entries. > .TP > .B flex_bg > .br > Constant EXT4_FEATURE_INCOMPAT_FLEX_BG. > .br > Allow bitmaps and inode tables for a block group to be placed > anywhere on the storage media. \fBTune2fs\fR will not reorganize > the location of the inode tables and allocation bitmaps, as > .BR mke2fs (8) > will do when it creates a freshly formatted file system with > .B flex_bg > enabled. > .TP > .B inline_data > .br > Constant EXT4_FEATURE_INCOMPAT_INLINE_DATA. > .br > Allows small files or directories to be stored within the in-inode > extended attribute area. > .TP > .B has_journal > .br > Constant EXT3_FEATURE_COMPAT_HAS_JOURNAL. > .br > Use a journal to ensure filesystem consistency even across unclean shutdowns. > Setting the filesystem feature is equivalent to using the > .B \-j > option. > .TP > .B huge_file > .br > Constant EXT4_FEATURE_RO_COMPAT_HUGE_FILE. > .br > Allows files larger than 2TiB in size. > .TP > .B imagic_inodes > .br > Constant EXT2_FEATURE_COMPAT_IMAGIC_INODES. > .TP > .B journal_dev > .br > Constant EXT3_FEATURE_INCOMPAT_JOURNAL_DEV. > .br > Filesystem has a separate journal device (see journal-options). > .TP > .B large_dir > Constant EXT4_FEATURE_INCOMPAT_LARGEDIR. > .br > Large directory >2GB or 3-level htree. > .TP > .B large_file > .br > Constant EXT2_FEATURE_RO_COMPAT_LARGE_FILE. > .br > Filesystem can contain files that are greater than 2GB. (Modern kernels > set this feature automatically when a file > 2GB is created.) > .TP > .B lazy_bg > .br > Constant EXT2_FEATURE_COMPAT_LAZY_BG. > .br > Legacy parameter for testing purposes, no longer supported by kernel. > .br > Allows an ext2/ext3 developer to create very large filesystems using > sparse files where most of the block groups are not initialized and so > do not require much disk space. > .TP > .B metadata_csum > .br > Constant EXT4_FEATURE_RO_COMPAT_METADATA_CSUM. > .br > Filesystem supports metadata checksumming. > .br > Implies > .B uninit_bg > though it must be omitted. > .TP > .B meta_bg > .br > Constant EXT2_FEATURE_INCOMPAT_META_BG. > .br > Reduced block group backups. > .TP > .B mmp > .br > Constant EXT4_FEATURE_INCOMPAT_MMP. > .br > Enable or disable multiple mount protection (MMP) feature. MMP helps to > protect the filesystem from being multiply mounted and is useful in > shared storage environments. > .TP > .B needs_recovery > .br > Constant EXT3_FEATURE_INCOMPAT_RECOVER. > .br > This flag is set by the kernel to indicate either a mounted filesystem with > .B has_journal > is write enabled or, an unmounted filesystem is in an unclean state. > .TP > .B quota > .br > Constant EXT4_FEATURE_RO_COMPAT_QUOTA. > .br > Causes the quota files (i.e., user.quota and group.quota which existed > in the older quota design) to be hidden inodes. > .TP > .B replica > .br > Constant EXT4_FEATURE_RO_COMPAT_REPLICA. > .br > Non-upstream feature. > .TP > .B resize_inode > .br > Constant EXT2_FEATURE_COMPAT_RESIZE_INODE > .br > Reserve space so the block group descriptor table may grow in the future. > .B Tune2fs > only supports clearing this filesystem feature. > .TP > .B snapshot_bitmap > .br > Constant EXT2_FEATURE_COMPAT_EXCLUDE_BITMAP. > .br > Legacy parameter, no longer supported by kernel. > .TP > .B sparse_super > .br > Constant EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER. > .br > Limit the number of backup superblocks to save space on large filesystems. > .TP > .B uninit_bg, uninit_groups > .br > Constant EXT4_FEATURE_RO_COMPAT_GDT_CSUM. > .br > Allow the kernel to initialize bitmaps and inode tables and keep a high > watermark for the unused inodes in a filesystem, to reduce > .BR e2fsck (8) > time. This first e2fsck run after enabling this feature will take the > full time, but subsequent e2fsck runs will take only a fraction of the > original time, depending on how full the file system is. > .RE > .IP > After setting or clearing > .BR sparse_super , > .BR uninit_bg , > .BR filetype , > or > .B resize_inode > filesystem features, > .BR e2fsck (8) > must be run on the filesystem to return the filesystem to a consistent state. > .B Tune2fs > will print a message requesting that the system administrator run > .BR e2fsck (8) > if necessary. After setting the > .B dir_index > feature, > .B e2fsck -D > can be run to convert existing directories to the hashed B-tree format. > Enabling certain filesystem features may prevent the filesystem from being > mounted by kernels which do not support those features. In particular, the > .BR uninit_bg > and > .BR flex_bg > features are only supported by the ext4 filesystem. > .TP > .BI \-p " mmp_check_interval" > Set the desired MMP check interval in seconds. It is 5 seconds by default. > .TP > .BI \-r " reserved-blocks-count" > Set the number of reserved filesystem blocks. > .TP > .BI \-Q " quota-options" > Sets 'quota' feature on the superblock and works on the quota files for the > given quota type. Quota options could be one or more of the following: > .RS 1.2i > .TP > .BR [^]usrquota > Sets/clears user quota inode in the superblock. > .TP > .BR [^]grpquota > Sets/clears group quota inode in the superblock. > .RE > .TP > .BI \-T " time-last-checked" > Set the time the filesystem was last checked using > .BR e2fsck . > The time is interpreted using the current (local) timezone. > This can be useful in scripts which use a Logical Volume Manager to make > a consistent snapshot of a filesystem, and then check the filesystem > during off hours to make sure it hasn't been corrupted due to > hardware problems, etc. If the filesystem was clean, then this option can > be used to set the last checked time on the original filesystem. The format > of > .I time-last-checked > is the international date format, with an optional time specifier, i.e. > YYYYMMDD[HH[MM[SS]]]. The keyword > .B now > is also accepted, in which case the last checked time will be set to the > current time. > .TP > .BI \-u " user" > Set the user who can use the reserved filesystem blocks. > .I user > can be a numerical uid or a user name. If a user name is given, it > is converted to a numerical uid before it is stored in the superblock. > .TP > .BI \-U " UUID" > Set the universally unique identifier (UUID) of the filesystem to > .IR UUID . > The format of the UUID is a series of hex digits separated by hyphens, > like this: > "c1b9d5a2-f162-11cf-9ece-0020afc76f16". > The > .I UUID > parameter may also be one of the following: > .RS 1.2i > .TP > .I clear > clear the filesystem UUID > .TP > .I random > generate a new randomly-generated UUID > .TP > .I time > generate a new time-based UUID > .RE > .IP > The UUID may be used by > .BR mount (8), > .BR fsck (8), > and > .BR /etc/fstab (5) > (and possibly others) by specifying > .BI UUID= uuid > instead of a block special device name like > .BR /dev/hda1 . > .IP > See > .BR uuidgen (8) > for more information. > If the system does not have a good random number generator such as > .I /dev/random > or > .IR /dev/urandom , > .B tune2fs > will automatically use a time-based UUID instead of a randomly-generated UUID. > .SH BUGS > We haven't found any bugs yet. That doesn't mean there aren't any... > .SH AUTHOR > .B tune2fs > was written by Remy Card . It is currently being > maintained by Theodore Ts'o . > .B tune2fs > uses the ext2fs library written by Theodore Ts'o . > This manual page was written by Christian Kuhtz . > Time-dependent checking was added by Uwe Ohse . > .SH AVAILABILITY > .B tune2fs > is part of the e2fsprogs package and is available from > http://e2fsprogs.sourceforge.net. > .SH SEE ALSO > .BR debugfs (8), > .BR dumpe2fs (8), > .BR e2fsck (8), > .BR mke2fs (8) > -- > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >