Whamcloud - gitweb
Merge branch 'maint' into next
[tools/e2fsprogs.git] / resize / resize2fs.8.in
index 426c3ce..ae36577 100644 (file)
 .\" .TH RESIZE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .TH RESIZE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
 .SH NAME
-resize2fs \- ext2/ext3 file system resizer
+resize2fs \- ext2/ext3/ext4 file system resizer
 .SH SYNOPSIS
 .B resize2fs
 [
-.B \-d 
-.I debug-flags
+.B \-fFpPMbs
 ]
 [
-.B \-f
+.B \-d
+.I debug-flags
 ]
 [
-.B \-F
+.B \-S
+.I RAID-stride
 ]
 [
-.B \-p
+.B \-z
+.I undo_file
 ]
 .I device
 [
 .I size
 ]
 .SH DESCRIPTION
-The 
-.B resize2fs 
-program will resize ext2 file systems.  It can be used to enlarge or
-shrink an unmounted ext2 file system located on 
+The
+.B resize2fs
+program will resize ext2, ext3, or ext4 file systems.  It can be used to
+enlarge or shrink an unmounted file system located on
 .IR device .
 If the filesystem is mounted, it can be used to expand the size of the
-mounted filesystem, assuming the kernel supports on-line resizing.  (As
-of this writing, the Linux 2.6 kernel supports on-line resize for
-filesystems mounted using ext3 only.).
+mounted filesystem, assuming the kernel and the file system supports
+on-line resizing.  (Modern Linux 2.6 kernels will support on-line resize
+for file systems mounted using ext3 and ext4; ext3 file systems will
+require the use of file systems with the resize_inode feature enabled.)
 .PP
-The 
+The
 .I size
 parameter specifies the requested new size of the filesystem.
 If no units are specified, the units of the
 .I size
 parameter shall be the filesystem blocksize of the filesystem.
-Optionally, the 
+Optionally, the
 .I size
-parameter may be suffixed by one of the following the units 
-designators: 's', 'K', 'M', or 'G',
-for 512 byte sectors, kilobytes, megabytes, or gigabytes, respectively.
-The 
+parameter may be suffixed by one of the following units
+designators: 'K', 'M', 'G', 'T' (either upper-case or lower-case) or 's'
+for power-of-two kilobytes, megabytes, gigabytes, terabytes or 512 byte
+sectors respectively. The
 .I size
 of the filesystem may never be larger than the size of the partition.
-If 
+If
 .I size
 parameter is not specified, it will default to the size of the partition.
 .PP
 The
 .B resize2fs
 program does not manipulate the size of partitions.  If you wish to enlarge
-a filesystem, you must first make sure you can expand the size of the
-underlying partition first.  This can be done using 
+a filesystem, you must make sure you can expand the size of the
+underlying partition first.  This can be done using
 .BR fdisk (8)
-by deleting the partition and recreating it with a larger size.  
-When 
+by deleting the partition and recreating it with a larger size or using
+.BR lvextend (8),
+if you're using the logical volume manager
+.BR lvm (8).
+When
 recreating the partition, make sure you create it with the same starting
-disk cylinder as before!  Otherwise, the resize operation will 
-certainly not work, and you may lose your entire filesystem.  
+disk cylinder as before!  Otherwise, the resize operation will
+certainly not work, and you may lose your entire filesystem.
 After running
 .BR fdisk (8),
-run resize2fs to resize the ext2 filesystem 
+run resize2fs to resize the ext2 filesystem
 to use all of the space in the newly enlarged partition.
 .PP
-If you wish to shrink an ext2 partition, first use 
+If you wish to shrink an ext2 partition, first use
 .B resize2fs
-to shrink the size of filesystem.  Then you may use 
+to shrink the size of filesystem.  Then you may use
 .BR fdisk (8)
-to shrink the size of the partition.  When shrinking the size of 
-the partition, make sure you do not make it smaller than the new size 
+to shrink the size of the partition.  When shrinking the size of
+the partition, make sure you do not make it smaller than the new size
 of the ext2 filesystem!
+.PP
+The
+.B \-b
+and
+.B \-s
+options enable and disable the 64bit feature, respectively.  The resize2fs
+program will, of course, take care of resizing the block group descriptors
+and moving other data blocks out of the way, as needed.  It is not possible
+to resize the filesystem concurrent with changing the 64bit status.
 .SH OPTIONS
 .TP
-.I \-d debug-flags
-Turns on various resize2fs debugging features, if they have been compiled 
+.B \-b
+Turns on the 64bit feature, resizes the group descriptors as necessary, and
+moves other metadata out of the way.
+.TP
+.B \-d \fIdebug-flags
+Turns on various resize2fs debugging features, if they have been compiled
 into the binary.
 .I debug-flags
-should be computed by adding the numbers of the desired features 
+should be computed by adding the numbers of the desired features
 from the following list:
 .br
-\      1\      \-\ Print out all disk I/O 
+       2       \-\ Debug block relocations
+.br
+       4       \-\ Debug inode relocations
 .br
-\      2\      \-\ Debug block relocations
+       8       \-\ Debug moving the inode table
 .br
-\      8\      \-\ Debug inode relocations
+       16      \-\ Print timing information
 .br
-\      16\     \-\ Debug moving the inode table
+       32      \-\ Debug minimum filesystem size (\-M) calculation
 .TP
-.I \-p
-Prints out a percentage completion bars for each 
-.B resize2fs
-operation, so that the user can keep track of what
-the program is doing.
-.TP 
-.I \-f
-Forces resize2fs to proceed with the filesystem resize operation, overriding 
+.B \-f
+Forces resize2fs to proceed with the filesystem resize operation, overriding
 some safety checks which resize2fs normally enforces.
 .TP
-.I \-F
+.B \-F
 Flush the filesystem device's buffer caches before beginning.  Only
-really useful for doing 
+really useful for doing
 .B resize2fs
 time trials.
+.TP
+.B \-M
+Shrink the file system to minimize its size as much as possible,
+given the files stored in the file system.
+.TP
+.B \-p
+Prints out a percentage completion bars for each
+.B resize2fs
+operation during an offline resize, so that the user can keep track
+of what the program is doing.
+.TP
+.B \-P
+Print an estimate of the number of file system blocks in the file system
+if it is shrunk using
+.BR resize2fs 's
+.B \-M
+option and then exit.
+.TP
+.B \-s
+Turns off the 64bit feature and frees blocks that are no longer in use.
+.TP
+.B \-S \fIRAID-stride
+The
+.B resize2fs
+program will heuristically determine the RAID stride that was specified
+when the filesystem was created.  This option allows the user to
+explicitly specify a RAID stride setting to be used by resize2fs instead.
+.TP
+.BI \-z " undo_file"
+Before overwriting a file system block, write the old contents of the block to
+an undo file.  This undo file can be used with e2undo(8) to restore the old
+contents of the file system should something go wrong.  If the empty string is
+passed as the undo_file argument, the undo file will be written to a file named
+resize2fs-\fIdevice\fR.e2undo in the directory specified via the
+\fIE2FSPROGS_UNDO_DIR\fR environment variable.
+
+WARNING: The undo file cannot be used to recover from a power or system crash.
+.SH KNOWN BUGS
+The minimum size of the filesystem as estimated by resize2fs may be
+incorrect, especially for filesystems with 1k and 2k blocksizes.
 .SH AUTHOR
 .B resize2fs
 was written by Theodore Ts'o <tytso@mit.edu>.
 .SH COPYRIGHT
 Resize2fs is Copyright 1998 by Theodore Ts'o and PowerQuest, Inc.  All
-rights reserved.  
+rights reserved.
 As of April, 2000
 .B Resize2fs
 may be redistributed under the terms of the GPL.
 .SH SEE ALSO
 .BR fdisk (8),
 .BR e2fsck (8),
-.BR mke2fs (8)
+.BR mke2fs (8),
+.BR lvm (8),
+.BR lvextend (8)