.SH SYNOPSIS
.B resize2fs
[
-.B \-fFpPM
+.B \-fFpPMbs
]
[
-.B \-d
+.B \-d
.I debug-flags
]
[
.B \-S
.I RAID-stride
]
+[
+.B \-z
+.I undo_file
+]
.I device
[
.I size
]
.SH DESCRIPTION
-The
-.B resize2fs
+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
+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 and ext4.).
+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
+The
.I size
-parameter specifies the requested new size of the filesystem.
+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 filesystem blocksize of the filesystem.
-Optionally, the
+parameter shall be the file system blocksize of the file system.
+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
+of the file system may never be larger than the size of the partition.
+If
.I size
parameter is not specified, it will default to the size of the partition.
.PP
-Note: when kilobytes is used above, I mean
-.IR real ,
-power-of-2 kilobytes, (i.e., 1024 bytes), which some politically correct
-folks insist should be the stupid-sounding ``kibibytes''. The same
-holds true for megabytes, also sometimes known as ``mebibytes'', or
-gigabytes, as the amazingly silly ``gibibytes''. Makes you want to
-gibber, doesn't it?
-.PP
The
.B resize2fs
program does not manipulate the size of partitions. If you wish to enlarge
-a filesystem, you must 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 or using
.BR lvextend (8),
if you're using the logical volume manager
.BR lvm (8).
-When
+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 filesystem
+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 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
+.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
+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
-\ 2\ \-\ Debug block relocations
+ 2 \-\ Debug block relocations
+.br
+ 4 \-\ Debug inode relocations
.br
-\ 4\ \-\ Debug inode relocations
+ 8 \-\ Debug moving the inode table
.br
-\ 8\ \-\ Debug moving the inode table
-.TP
+ 16 \-\ Print timing information
+.br
+ 32 \-\ Debug minimum file system size (\-M) calculation
+.TP
.B \-f
-Forces resize2fs to proceed with the filesystem resize operation, overriding
+Forces resize2fs to proceed with the file system resize operation, overriding
some safety checks which resize2fs normally enforces.
.TP
.B \-F
-Flush the filesystem device's buffer caches before beginning. Only
-really useful for doing
+Flush the file system device's buffer caches before beginning. Only
+really useful for doing
.B resize2fs
time trials.
.TP
.B \-M
-Shrink the filesystem to the minimum size.
+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
+Print out percentage completion bars for each
.B resize2fs
-operation, so that the user can keep track of what
-the program is doing.
+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 the minimum size of the filesystem and exit.
+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
+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 filesystem as estimated by resize2fs may be
-incorrect, especially for filesystems with 1k and 2k blocksizes.
+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 be redistributed under the terms of the GPL.
.BR fdisk (8),
.BR e2fsck (8),
.BR mke2fs (8),
-.BR lvm (8),
+.BR lvm (8),
.BR lvextend (8)