.\" Copyright 1997 by Theodore Ts'o. All Rights Reserved.
.\"
.\" .TH RESIZE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
-.TH RESIZE2FS 8 "September 1998" "Resize2fs version 1.03"
+.TH RESIZE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
.SH NAME
-resize2fs \- ext2 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 ext2 file system located on
-.I device
-so that it will have
-.I size
-blocks.
-If the
+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 file system is mounted, it can be used to expand the size of the
+mounted file system, 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
.I size
-parameter is not specified, it will default to the size of the partition.
-The
+parameter specifies the requested new size of the file system.
+If no units are specified, the units of the
+.I size
+parameter shall be the file system blocksize of the file system.
+Optionally, the
+.I size
+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 file system may never be larger than the size of the partition.
+If
.I size
-parameter may never be larger than the size of the partition.
+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 file system, 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 file system.
+After running
+.BR fdisk (8),
+run resize2fs to resize the ext2 file system
+to use all of the space in the newly enlarged partition.
.PP
-If you wish to shrink the 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 file system. 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
-of the ext2 filesystem!
+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 file system!
+.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 file system 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 file system 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 file system resize operation, overriding
some safety checks which resize2fs normally enforces.
.TP
-.I \-F
-Flush the filesystem device's buffer caches before beginning. Only
-really useful for doing
+.B \-F
+Flush the file system device's buffer caches before beginning. Only
+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
+Print out percentage completion bars for each
+.B resize2fs
+phase during an offline (non-trivial) resize operation, so that the user
+can keep track of what the program is doing. (For very fast resize
+operations, no progress bars may be displayed.)
+.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 file system 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 file system as estimated by resize2fs may be
+incorrect, especially for file systems 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 not be redistributed without the prior
-consent of PowerQuest. This version of
-.B resize2fs
-is available to licensed
-users of Partition Magic(tm).
+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)