1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
|
.\" -*- nroff -*-
.\" Copyright 1996-2004 Hans Reiser.
.\"
.TH REISERFSCK 8 "January 2009" "Reiserfsprogs-3.6.27"
.SH NAME
reiserfsck \- The checking tool for the ReiserFS filesystem.
.SH SYNOPSIS
.B reiserfsck
[ \fB-aprVy\fR ]
[ \fB--rebuild-sb\fR | \fB--check\fR | \fB--fix-fixable\fR
| \fB--rebuild-tree\fR | \fB--clean-attributes\fR ]
.\" [ \fB-i\fR | \fB--interactive\fR ]
[ \fB-j\fR | \fB--journal\fR \fIdevice\fR ]
[ \fB-z\fR | \fB--adjust-size\fR ]
[ \fB-n\fR | \fB--nolog\fR ]
[ \fB-B\fR | \fB--badblocks \fIfile\fR ]
[ \fB-l\fR | \fB--logfile \fIfile\fR ]
[ \fB-q\fR | \fB--quiet\fR ]
[ \fB-y\fR | \fB--yes\fR ]
[ \fB-f\fR | \fB--force\fR ]
.\" [ \fB-b\fR | \fB--scan-marked-in-bitmap \fIbitmap-filename\fR ]
.\" [ \fB-h\fR | \fB--hash \fIhash-name\fR ]
.\" [ \fB-g\fR | \fB--background\fR ]
[ \fB-S\fR | \fB--scan-whole-partition\fR ]
[ \fB--no-journal-available\fR ]
.I device
.SH DESCRIPTION
\fBReiserfsck\fR searches for a Reiserfs filesystem on a device, replays
any necessary transactions, and either checks or repairs the file system.
.TP
.I device
is the special file corresponding to a device or to a partition (e.g
/dev/hdXX for an IDE disk partition or /dev/sdXX for a SCSI disk partition).
.SH OPTIONS
.TP
.B --rebuild-sb
This option recovers the superblock on a Reiserfs partition. Normally you
only need this option if mount reports "read_super_block: can't find
a reiserfs file system" and you are sure that a Reiserfs file system is
there. But remember that if you have used some partition editor program and
now you cannot find a filesystem, probably something has gone wrong while
repartitioning and the start of the partition has been changed. If so,
instead of rebuilding the super block on a wrong place you should find the
correct start of the partition first.
.TP
.B --check
This default action checks filesystem consistency and reports, but
does not repair any corruption that it finds. This option may be
used on a read-only file system mount.
.TP
.B --fix-fixable
This option recovers certain kinds of corruption that do not require
rebuilding the entire file system tree (\fB--rebuild-tree\fR). Normally
you only need this option if the \fB--check\fR option reports
"corruption that can be fixed with \fB--fix-fixable\fR". This includes:
zeroing invalid data-block pointers, correcting st_size and st_blocks
for directories, and deleting invalid directory entries.
.TP
.B --rebuild-tree
This option rebuilds the entire filesystem tree using leaf nodes
found on the device. Normally you only need this option if the
\fBreiserfsck \-\-check\fR reports "Running with \fB\-\-rebuild-tree\fR
is required". You are strongly encouraged to make a backup copy
of the whole partition before attempting the \fB--rebuild-tree\fR
option. Once \fBreiserfsck \-\-rebuild-tree\fR is started it must
finish its work (and you should not interrupt it), otherwise the
filesystem will be left in the unmountable state to avoid subsequent
data corruptions.
.TP
.B --clean-attributes
This option cleans reserved fields of Stat-Data items. There were days when
there were no extended attributes in reiserfs. When they were implemented old
partitions needed to be cleaned first -- reiserfs code in the kernel did not
care about not used fields in its strutures. Thus if you have used one of the
old (pre-attrbutes) kernels with a ReiserFS filesystem and you want to use
extented attribues there, you should clean the filesystem first.
.TP
.B \fB--journal \fIdevice \fR, \fB-j \fIdevice \fR
This option supplies the device name of the current file system journal.
This option is required when the journal resides on a separate device
from the main data device (although it can be avoided with the expert
option \fB--no-journal-available\fR).
.TP
.\" .B --interactive, -i
.\" This makes \fBreiserfsck\fR to stop after each pass completed.
.\" .TP
.B --adjust-size, -z
This option causes \fBreiserfsck\fR to correct file sizes that
are larger than the offset of the last discovered byte. This
implies that holes at the end of a file will be removed. File
sizes that are smaller than the offset of the last discovered
byte are corrected by \fB--fix-fixable\fR.
.TP
\fB--badblocks \fIfile\fR, \fB-B \fI file\fR
This option sets the badblock list to be the list of blocks specified in
the given `file`. The filesystem badblock list is cleared before the new
list is added. It can be used with \fB--fix-fixable\fR to fix the list of
badblocks (see \fBdebugreiserfs \-B\fR). If the device has bad blocks, every
time it must be given with the \fB--rebuild-tree\fR option.
.TP
\fB--logfile \fIfile\fR, \fB-l \fI file\fR
This option causes \fBreiserfsck\fR to report any corruption it finds
to the specified log file rather than to stderr.
.TP
.B --nolog, -n
This option prevents \fBreiserfsck\fR from reporting any kinds of corruption.
.TP
.B --quiet, -q
This option prevents \fBreiserfsck\fR from reporting its rate of progress.
.TP
.B --yes, -y
This option inhibits \fBreiserfsck\fR from asking you for confirmation after
telling you what it is going to do. It will assuem you confirm. For safety,
it does not work with the \fB--rebuild-tree\fR option.
.TP
\fB-a\fR, \fB-p\fR
These options are usually passed by fsck \-A during the automatic checking
of those partitions listed in /etc/fstab. These options cause \fBreiserfsck\fR
to print some information about the specified filesystem, to check if error
flags in the superblock are set and to do some light-weight checks. If these
checks reveal a corruption or the flag indicating a (possibly fixable)
corruption is found set in the superblock, then \fBreiserfsck\fR switches
to the fix-fixable mode. If the flag indicating a fatal corruption is found
set in the superblock, then \fBreiserfsck\fR finishes with an error.
.TP
.B --force, -f
Force checking even if the file system seems clean.
.TP
.B -V
This option prints the reiserfsprogs version and then exit.
.TP
.B -r
This option does nothing at all; it is provided only for
backwards compatibility.
.SH EXPERT OPTIONS
DO NOT USE THESE OPTIONS UNLESS YOU KNOW WHAT YOU ARE DOING.
WE ARE NOT RESPONSIBLE IF YOU LOSE DATA AS A RESULT OF THESE
OPTIONS.
.TP
.B \fB\--no-journal-available\fR
This option allows \fBreiserfsck\fR to proceed when the journal device is
not available. This option has no effect when the journal is located on
the main data device. NOTE: after this operation you must use \fBreiserfstune\fR
to specify a new journal device.
.TP
.B --scan-whole-partition, -S
This option causes \fB--rebuild-tree\fR to scan the whole partition but not only
the used space on the partition.
.SH AN EXAMPLE OF USING reiserfsck
1. You think something may be wrong with a reiserfs partition on /dev/hda1
or you would just like to perform a periodic disk check.
2. Run \fBreiserfsck \-\-check \-\-logfile check.log /dev/hda1\fR. If \fBreiserfsck
\-\-check\fR exits with status 0 it means no errors were discovered.
3. If \fBreiserfsck \-\-check\fR exits with status 1 (and reports about fixable
corruptions) it means that you should run \fBreiserfsck \-\-fix-fixable \-\-logfile
fixable.log /dev/hda1\fR.
4. If \fBreiserfsck \-\-check\fR exits with status 2 (and reports about fatal
corruptions) it means that you need to run \fBreiserfsck \-\-rebuild\-tree\fR.
If \fBreiserfsck \-\-check\fR fails in some way you should also run \fBreiserfsck
\-\-rebuild-tree\fR, but we also encourage you to submit this as a bug report.
5. Before running \fBreiserfsck \-\-rebuild-tree\fR, please make a backup of
the whole partition before proceeding. Then run \fBreiserfsck \-\-rebuild-tree
\-\-logfile rebuild.log /dev/hda1\fR.
6. If the \fBreiserfsck \-\-rebuild-tree\fR step fails or does not recover what
you expected, please submit this as a bug report. Try to provide as much
information as possible including your platform and Linux kernel version. We
will try to help solve the problem.
.SH EXIT CODES
\fBreiserfsck\fR uses the following exit codes:
.br
\ \fI0\fR \-\ No errors.
.br
\ \fI1\fR \-\ File system errors corrected.
.br
\ \fI2\fR \-\ Reboot is needed.
.br
\ \fI4\fR \-\ File system fatal errors left uncorrected,
.br
\ \fBreiserfsck \-\-rebuild-tree\fR needs to be launched.
.br
\ \fI6\fR \-\ File system fixable errors left uncorrected,
.br
\ \fBreiserfsck \-\-fix-fixable\fR needs to be launched.
.br
\ \fI8\fR \-\ Operational error.
.br
\ \fI16\fR \-\ Usage or syntax error.
.br
.SH AUTHOR
This version of \fBreiserfsck\fR has been written by Vitaly Fertman <vitaly@namesys.com>.
.SH BUGS
Please report bugs to the ReiserFS developers <reiserfs-devel@vger.kernel.org>, providing
as much information as possible--your hardware, kernel, patches, settings, all printed
messages, the logfile; check the syslog file for any related information.
.SH TODO
Faster recovering, signal handling.
.SH SEE ALSO
.BR mkreiserfs (8),
.BR reiserfstune (8)
.BR resize_reiserfs (8),
.BR debugreiserfs (8),
|