Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / sbin / fsck_ffs / fsck_ffs.8
blob45cd32e3bfed9d5f09aa7b550f6760a414690d55
1 .\"     $NetBSD: fsck_ffs.8,v 1.45 2009/05/07 06:54:23 lukem Exp $
2 .\"
3 .\" Copyright (c) 1980, 1989, 1991, 1993
4 .\"     The Regents of the University of California.  All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\"    may be used to endorse or promote products derived from this software
16 .\"    without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" SUCH DAMAGE.
29 .\"
30 .\"     @(#)fsck.8      8.3 (Berkeley) 11/29/94
31 .\"
32 .Dd May 7, 2009
33 .Dt FSCK_FFS 8
34 .Os
35 .Sh NAME
36 .Nm fsck_ffs
37 .Nd Fast File System consistency check and interactive repair
38 .Sh SYNOPSIS
39 .Nm
40 .Op Fl adFfPpqUX
41 .Op Fl B Ar byteorder
42 .Op Fl b Ar block
43 .Op Fl c Ar level
44 .Op Fl m Ar mode
45 .Op Fl x Ar snap-backup
46 .Op Fl y | n
47 .Ar filesystem ...
48 .Sh DESCRIPTION
49 .Nm
50 performs interactive file system consistency checks and repair for each of
51 the file systems specified on the command line.
52 It is normally invoked from
53 .Xr fsck 8 .
54 .Pp
55 The kernel takes care that only a restricted class of innocuous file system
56 inconsistencies can happen unless hardware or software failures intervene.
57 These are limited to the following:
58 .Pp
59 .Bl -item -compact -offset indent
60 .It
61 Unreferenced inodes
62 .It
63 Link counts in inodes too large
64 .It
65 Missing blocks in the free map
66 .It
67 Blocks in the free map also in files
68 .It
69 Counts in the super-block wrong
70 .El
71 .Pp
72 These are the only inconsistencies that
73 .Nm
75 .Dq preen
76 mode (with the
77 .Fl p
78 option) will correct; if it encounters other inconsistencies, it exits
79 with an abnormal return status.
80 For each corrected inconsistency one or more lines will be printed
81 identifying the file system on which the correction will take place,
82 and the nature of the correction.
83 After successfully correcting a file system,
84 .Nm
85 will print the number of files on that file system,
86 the number of used and free blocks,
87 and the percentage of fragmentation.
88 .Pp
89 If sent a
90 .Dv QUIT
91 signal,
92 .Nm
93 will finish the file system checks, then exit with an abnormal return status.
94 .Pp
96 .Nm
97 receives a
98 .Dv SIGINFO
99 signal
100 (see the
101 .Sy status
102 argument for
103 .Xr stty 1 ) ,
104 a line will be written to the standard error output indicating
105 the name of the device currently being checked, the current phase
106 number and phase-specific progress information.
108 Without the
109 .Fl p
110 option,
112 audits and interactively repairs inconsistent conditions for file systems.
113 If the file system is inconsistent the operator is prompted for concurrence
114 before each correction is attempted.
115 It should be noted that some of the corrective actions which are not
116 correctable under the
117 .Fl p
118 option will result in some loss of data.
119 The amount and severity of data lost may be determined from the diagnostic
120 output.
121 The default action for each consistency correction
122 is to wait for the operator to respond
123 .Li yes
125 .Li no .
126 If the operator does not have write permission on the file system
128 will default to a
129 .Fl n
130 action.
133 has more consistency checks than
134 its predecessors
135 .Em check , dcheck , fcheck ,
137 .Em icheck
138 combined.
140 The following flags are interpreted by
141 .Nm .
142 .Bl -tag -width XBXbyteorderXX -offset indent
143 .It Fl a
144 Interpret the filesystem as an Apple UFS filesystem, even if
145 there is no Apple UFS volume label present.
146 .It Fl B Ar byteorder
147 Convert the file system metadata to
148 .Ar byteorder
149 byte order if needed.
150 Valid byte orders are
151 .Dq be
153 .Dq le .
156 is interrupted while swapping the metadata byte order, the file system cannot
157 be recovered.
159 will print a message in interactive mode if the file system is not in host
160 byte order.
161 .It Fl b Ar block
162 Use the block number
163 .Ar block
164 as the super block for the file system.
165 Block 32 is usually an alternative super block.
166 .It Fl c Ar level
167 Convert the FFSv1 file system to the level
168 .Ar level .
169 Note that the level of a file system can only be raised.
170 There are currently five levels defined:
171 .Bl -tag -width 3n -offset indent
172 .It 0
173 The file system is in the old (static table) format.
174 .It 1
175 The file system is in the new (dynamic table) format.
176 .It 2
177 The file system supports 32-bit UIDs and GIDs,
178 short symbolic links are stored in the inode,
179 and directories have an added field showing the file type.
180 .It 3
181 If maxcontig is greater than one,
182 build the free segment maps to aid in finding contiguous sets of blocks.
183 If maxcontig is equal to one, delete any existing segment maps.
184 .It 4
185 Rearrange the super block to the same layout as FFSv2;
186 disable the rotational layout tables and per cylinder group
187 block totals.
190 In interactive mode,
192 will list the conversion to be made
193 and ask whether the conversion should be done.
194 If a negative answer is given,
195 no further operations are done on the file system.
196 In preen mode,
197 the conversion is listed and done if
198 possible without user interaction.
199 Conversion in preen mode is best used when all the file systems
200 are being converted at once.
202 The output of
203 .Xr dumpfs 8
204 can be examined to determine the format of the file system
205 .Dq ( format
206 in the second line)
207 and the file system level
208 .Dq ( fslevel
209 in the sixth line).
210 .It Fl d
211 Print debugging output.
212 .It Fl F
213 Indicates that
214 .Ar filesystem
215 is a file system image, rather than a raw character device.
216 .Ar filesystem
217 will be accessed
218 .Sq as-is ,
219 and no attempts will be made to read a disklabel.
220 .It Fl f
221 Force checking of file systems.
222 Normally, if a file system is cleanly unmounted, the kernel will set a
223 .Dq clean flag
224 in the file system super block, and
226 will not check the file system.
227 This option forces
229 to check the file system, regardless of the state of the clean flag.
230 .It Fl m Ar mode
231 Use the octal value
232 .Ar mode
233 as the permission bits to use when creating the
234 .Pa lost+found
235 directory rather than the default 1700.
236 In particular, systems that do not wish to have lost files accessible
237 by all users on the system should use a more restrictive
238 set of permissions such as 700.
239 .It Fl n
240 Assume a no response to all questions asked by
242 except for
243 .Ql CONTINUE? ,
244 which is assumed to be affirmative;
245 do not open the file system for writing.
246 .It Fl P
247 Display a progress meter for the file system check.
248 A new meter is displayed for each of the 5 file system check passes, unless
249 .Fl p
250 is specified, in which case only one meter for overall progress is displayed.
251 Progress meters are disabled if the
252 .Fl d
253 option is specified.
254 .It Fl p
255 Specify
256 .Dq preen
257 mode, described above.
258 .It Fl x Ar snap-backup
259 Use a snapshot with
260 .Ar snap-backup
261 as backup to check a read-write mounted filesystem.
262 Must be used with
263 .Fl n .
265 .Xr fss 4
266 for more details.
267 The point is to check an internally-consistent version of the
268 filesystem to find out if it is damaged; on failure one should unmount
269 the filesystem and repair it.
270 .It Fl U
271 Resolve user ids to usernames.
272 .It Fl X
273 Similar to
274 .Fl x
275 but uses a file system internal snapshot on the file system to be checked.
276 .It Fl y
277 Assume a yes response to all questions asked by
278 .Nm ;
279 this should be used with great caution as this is a free license
280 to continue after essentially unlimited trouble has been encountered.
283 Inconsistencies checked are as follows:
284 .Bl -enum -offset indent -compact
286 Blocks claimed by more than one inode or the free map.
288 Blocks claimed by an inode outside the range of the file system.
290 Incorrect link counts.
292 Size checks:
293 .Bl -item -offset indent -compact
295 Directory size not a multiple of DIRBLKSIZ.
297 Partially truncated file.
300 Bad inode format.
302 Blocks not accounted for anywhere.
304 Directory checks:
305 .Bl -item -offset indent -compact
307 File pointing to unallocated inode.
309 Inode number out of range.
311 Dot or dot-dot not the first two entries of a directory
312 or having the wrong inode number.
315 Super Block checks:
316 .Bl -item -offset indent -compact
318 More blocks for inodes than there are in the file system.
320 Bad free block map format.
322 Total free block and/or free inode count incorrect.
326 Orphaned files and directories (allocated but unreferenced) are,
327 with the operator's concurrence, reconnected by
328 placing them in the
329 .Pa lost+found
330 directory.
331 The name assigned is the inode number.
332 If the
333 .Pa lost+found
334 directory does not exist, it is created.
335 If there is insufficient space its size is increased.
337 Because of inconsistencies between the block device and the buffer cache,
338 the raw device should always be used.
339 .Sh DIAGNOSTICS
340 The diagnostics produced by
342 are fully enumerated and explained in Appendix A of
344 .%T "Fsck \- The UNIX File System Check Program"
346 .Sh SEE ALSO
347 .Xr fss 4 ,
348 .Xr fs 5 ,
349 .Xr fstab 5 ,
350 .Xr dumpfs 8 ,
351 .Xr fsck 8 ,
352 .Xr fsdb 8 ,
353 .Xr newfs 8 ,
354 .Xr reboot 8