Whamcloud - gitweb
Merge branch 'maint' into next
[tools/e2fsprogs.git] / resize / resize2fs.8.in
index 29a50d1..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 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 filesystem is mounted, it can be used to expand the size of the
+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
 .I size
-parameter is not specified, it will default to the size of the partition.
-The 
+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
+.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
-parameter may never be larger than the size of the partition.
+of the filesystem 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
 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 
+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
+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 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
-\      2\      \-\ Debug block relocations
+       4       \-\ Debug inode relocations
 .br
-\      8\      \-\ Debug inode relocations
+       8       \-\ Debug moving the inode table
 .br
-\      16\     \-\ Debug moving the inode table
+       16      \-\ Print timing information
+.br
+       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)