Sync usage with man page.
[netbsd-mini2440.git] / sbin / resize_ffs / resize_ffs.8
blobdcab98d1d505b0c9007cb2de599fc2689a859c97
1 .\"     $NetBSD: resize_ffs.8,v 1.2 2003/02/23 00:26:02 lukem Exp $
2 .\"
3 .\" As its sole author, I explicitly place this man page in the public
4 .\" domain.  Anyone may use it in any way for any purpose (though I would
5 .\" appreciate credit where it is due).
6 .\"
7 .\" /~\ The ASCII                           der Mouse
8 .\" \ / Ribbon Campaign
9 .\"  X  Against HTML               mouse@rodents.montreal.qc.ca
10 .\" / \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B
11 .\"
12 .Dd February 20, 2003
13 .Dt RESIZE_FFS 8
14 .Sh NAME
15 .Nm resize_ffs
16 .Nd resize an on-disk file system
17 .Sh SYNOPSIS
18 .Nm
19 .Ar file-system-raw-device
20 .Ar newsize
21 .Sh DESCRIPTION
22 .Nm
23 resizes a file system on disk.
24 .Ar file-system-raw-device
25 is the name of the raw disk device where the file system resides;
26 .Ar newsize
27 is the desired new file system size, in sectors.
28 (Sectors are almost always 512 bytes, and
29 .Nm
30 can both grow and shrink file systems.
31 When growing, the disk device
32 must of course be large enough to contain the new file system;
33 .Nm
34 simply extends the file system data structures into the new space.
35 When shrinking,
36 .Nm
37 assumes this.
38 It will not work correctly for file systems with other sector sizes.)
39 .Nm
40 has to copy anything that currently resides in the space being shrunk
41 away; there must be enough space free on the file system for this to
42 succeed.
43 If there isn't,
44 .Nm
45 will complain and exit; when this happens, it attempts to always leave
46 the file system in a consistent state, but it is probably a good idea to
47 check the file system with
48 .Xr fsck 8 .
49 .Sh WARNING
50 .Nm
51 should still be considered experimental.  It still needs to be validated
52 with a rigorous regression test suite.
53 .Em Interrupting
54 .Nm
55 .Em "may leave your file system in an inconsistent state and require a"
56 .Em "restore from backup."
57 It attempts to write in the proper order to avoid problems, but as it is
58 still considered experimental, you should take great care when using it.
59 .Pp
60 When
61 .Nm
62 is applied to a consistent file system, it should always produce a
63 consistent file system; if the file system is not consistent to start
64 with,
65 .Nm
66 may misbehave, anything from dumping core to completely curdling the
67 data.
68 It's probably wise to
69 .Xr fsck 8
70 the file system before and after, just to be safe.
71 .\" Remove this when (if) fsck gets fixed.
72 .Pp
73 There is a bug somewhere in fsck; it does not check certain data
74 structures enough.
75 A past version of this program had a bug that produced corrupted
76 rotation layout summary tables, which would panic the kernel.
77 This bug is believed fixed, and there are currently no
78 known bugs in the program.
79 However, you should be aware that just
80 because fsck is happy with the file system does not mean it is intact.
81 .Sh EXAMPLES
82 .Ic resize_ffs Cm /dev/rsd1e 29574
83 .Sh SEE ALSO
84 .Xr fs 5 ,
85 .Xr fsck 8 ,
86 .Xr newfs 8
87 .Sh HISTORY
88 The
89 .Nm
90 command first appeared in
91 .Nx 2.0 .
92 .Sh AUTHORS
93 .An der Mouse
94 .Aq mouse@rodents.montreal.qc.ca
95 .Pp
96 A big bug-finding kudos goes to John Kohl for finding the rotational
97 layout bug referred to in the
98 .Sx WARNING
99 section above.
100 .Sh BUGS
101 Has not been tested and probably won't work on opposite-endian file
102 systems.
104 Can fail to shrink a file system when there actually is enough space,
105 because it does not distinguish between a block allocated as a block
106 and a block fully occupied by two or more frags.
107 This is unlikely to
108 occur in practice; except for pathological cases, it can happen only
109 when the new size is extremely close to the minimum possible.
111 Has no intelligence whatever when it comes to allocating blocks to copy
112 data into when shrinking.