]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - e2fsck/ChangeLog
Many files:
[thirdparty/e2fsprogs.git] / e2fsck / ChangeLog
CommitLineData
297f47a1
TT
1Mon Oct 30 20:31:17 1995 <tytso@rsts-11.mit.edu>
2
3 * e2fsck.c (check_mount): For Linux systems, the check to see if
4 the root is mounted read-only has to be done for all
5 filesystems, not just for the root filesystem, due to the
6 way that some /etc/rc scripts are set up.
7
50e1e10f
TT
8Thu Oct 26 12:05:30 1995 <tytso@rsts-11.mit.edu>
9
10 * Makefile.in (install): Strip programs when they are installed.
11 (e2fsck): Build e2fsck statically.
12
13Wed Oct 25 21:18:16 1995 <tytso@rsts-11.mit.edu>
14
15 * util.c (preenhalt): Preenhalt now takes an argument, which is an
16 ext2fs_filsys; this allows it to set the EXT2_ERROR_FS
17 flag in the superblock in cases where preenhalt is called.
18 All calls to preenhalt() were changed to either
19 preenhalt(fs) or preenhalt(NULL) in a few cases where the
20 fs pointer was not available. (Most notable, for block
21 read/write errors.)
22
23Mon Sep 4 21:41:03 1995 Remy Card <card@bbj>
24
25 * ehandler.c:
26 util.c: Include <sys/time.h> before <sys/resource.h>. BSD needs it.
27
28Mon Sep 4 10:14:49 1995 <tytso@rsts-11.mit.edu>
29
30 * e2fsck.c (show_stats): Show statistics about how many inodes
31 have indirect, doubly indirect, and triply indirect
32 blocks. Allow up to 8 digits for statistics, instead of
33 merely 6, so things look pretty for large filesystems.
34
35 * pass1.c (pass1): Keep statistics about indirect, doubly
36 indirect, and triply indirect blocks.
37
38 * pass1.c (unwind_pass1): Clear the above statistics when unwinding
39 pass 1.
40
41Fri Aug 18 15:17:10 1995 Theodore Y. Ts'o <tytso@dcl>
42
43 * util.c, ehandler.c: Move #include of <sys/resource.h> after
44 #include of "e2fsck.h", since sys/resource.h may depend on
45 sys/time.h, which is #included in e2fsck.h.
46
47Thu Aug 17 22:33:37 1995 <tytso@rsts-11.mit.edu>
48
49 * e2fsck.c (check_mount): Use the new ext2fs_check_if_mounted()
50 function to determine if the device is mounted.
51
52 * e2fsck.c (main): Add better error messages if ext2fs_open()
53 fails.
54
55Wed Aug 16 16:25:02 1995 <tytso@rsts-11.mit.edu>
56
57 * pass1.c (check_blocks): If we're clearing a directory, clear
58 pb.is_dir so we don't do the following check of making
59 sure the directory size matches; this is pointless, since
60 we've already cleared the inode.
61
62Fri Aug 11 09:08:54 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
63
64 * pass1.c (bad_primary_block): New function, called by
65 process_bad_block, which explains the facts of life to the
66 user when a block in the primary superblock or primary
67 group descriptors is bad.
68
69 * pass2.c (check_dot): Handle the case where the first directory
70 entry is used, but not ".".
71
72 * pass2.c (check_dotdot): Handle the case where the second directory
73 entry is used, but is not "..".
74
75Thu Aug 10 10:05:10 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
76
77 * e2fsck.c (check_super_block): Get the size of the physical
78 device and if it is smaller than the reported size of the
79 filesystem, report an error.
80
81Sat Aug 12 03:39:18 1995 Remy Card <card@bbj>
82
83 * e2fsck.c (check_if_skip): Print the number of allocated files and
84 blocks on clean filesystems.
85
86Fri Aug 11 14:15:36 1995 Remy Card <card@bbj>
87
88 * e2fsck.8: Updated date and version number.
89
90Thu Aug 10 14:26:01 1995 Remy Card <card@bbj>
91
92 * pass1.c (check_blocks): Check that directory size matches *exactly*
93 the count of allocated blocks.
94
95Wed Aug 9 21:21:24 1995 Theodore Y. Ts'o <tytso@dcl>
96
97 * pass1b.c (pass1d): Free the shared[] array when we're done with
98 it to avoid a memory leak.
99
100 * pass1.c (unwind_pass1): Use ext2fs_free_block_bitmap to free the
101 block_dup_map.
102
103 * pass2.c (process_bad_inode): When clearing the inode, make sure
104 the pathname is freed, to prevent a memory leak.
105
106 * pass5.c (check_inode_bitmaps): Free free_array and dir_array
107 when we're finished with them.
108 (check_block_bitmaps): Free free_array when we're finished
109 with them.
110
111 * Makefile.in (e2fsck, flushb): Use $(LD) instead of $(CC) when
112 linking the executable.
113
114 * pass2.c (process_bad_inode): Even on OS's that don't support the
115 fragment fields, make sure the Linux equivalent fields are
116 set to zero. If an OS wants to reuse these fields, which
117 is probably a bad idea (although we may get desperate in
118 the future) this code will have to be changed.
119
120 * pass1.c (dir_block_cmp): If the block numbers are equal, compare
121 on the inode field, and then blockcnt field. This is just
122 to keep the ordering of dir_blocks the same on all
123 platforms when there are more than on missing directory
124 blocks, which are indicated directories with holes, which
125 are indicated with the block number being set to zero.
126
127Sun Aug 6 15:40:58 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
128
129 * pass1.c (check_blocks, process_block): check_blocks() modified
130 to call the ext2fs_block_iterate() with BLOCK_FLAG_HOLE if
131 the inode is a directory. process_block() now checks to
132 see if a directory has a "hole", or missing block. If so,
133 this fact is recorded in the directory block list so that
134 the problem can be resolved in pass #2.
135
136 * pass2.c (allocate_dir_block): Added allocate_dir_block() to
137 allocate new blocks for directories with "holes". Called
138 out of check_dir_block if a block in the directory block
139 list is zero.
140
141 * pass3.c (get_lost_and_found): Move location of free(block) to
142 prevent possible memory leak.
143
144Sat Aug 5 12:42:22 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
145
146 * pass2.c (check_dir_block): Use a automatic, fixed-saize array
147 instead of alloca() --- alloca is not portable! Check to
148 make sure the filename is not longer than EXT2_NAME_LEN,
149 and offer to fix it by truncating it, since it should
150 never happen.
151
152 * e2fsck.c (PRS): Use malloc() instead of alloca() --- alloca() is
153 not portable!! In any case putenv() in some systems must
154 take a static character array or malloc()'ed memory;
155 passing memory allocated using alloca() to putenv() is not
156 advisable.
157
158 * pass2.c (check_dot, check_dotdot): Use malloc() instead of
159 alloca() --- alloca() is not portable!!!
160
161Tue Jul 18 20:04:02 1995 <tytso@rsx-11.mit.edu>
162
163 * pass1b.c (pass1c):
164 * pass3.c (check_root, get_lost_and_found):
165 * pass2.c (check_dir_block): Use ext2fs_{read,write}_dir_block
166 to read/write the directory block.
167
168Mon Jul 17 04:00:56 1995 <tytso@rsx-11.mit.edu>
169
170 * util.c (ask_yn): Apply patch supplied by Peter A. Zaitcev to
171 make sure VMIN and VTIME are set correct.
172
173Fri Jul 14 19:26:29 1995 <tytso@rsx-11.mit.edu>
174
175 * pass1.c (mark_block_used): Change to be an inline function.
176 Assume that the block validity checks are already done,
177 and use the fast variant of the bitmap functions.
178
179Thu Jul 13 08:10:55 1995 <tytso@rsx-11.mit.edu>
180
181 * pass5.c (check_block_bitmaps, check_inode_bitmaps): Check the
182 bounds of the bitmaps in advance, and then use the fast
183 variant of e2fs_test_{block,inode}_bitmap.
184
185 * pass1.c (mark_block_used): Use ext2_fast_mark_block_bitmap since
186 the bounds checking has already been done earlier.
187
188Wed Jul 12 02:22:46 1995 <tytso@rsx-11.mit.edu>
189
190 * pass1.c (pass1): Allocate and free the block_illegal_map, which
191 is used for shortcut processing in process_block.
192 (mark_table_blocks): Initialize block_illegal_map with the
193 filesystem blocks.
194 (describe_illegal_block): New helper function that
195 describes why a block is illegal.
196 (process_block): Use block_illegal_map as a shortcut
197 to determine whether a block is bad. Use
198 describe_illegal_block to print out why the block is illegal.
199
200Mon Jun 12 19:11:06 1995 Theodore Y. Ts'o (tytso@dcl)
201
202 * flushb.c: Don't include <linux/fs.h> if it doesn't exist.
203
204 * scantest.c: Don't include <linux/fs.h>, <getopt.h>, or
205 <mntent.h> if they don't exist. (Mostly so that "make
206 depend" works.)
207
208 * pass1.c, pass1b.c, pass3.c, badblocks.c: Include <errno.h> (if
209 it exists).
210
211 * e2fsck.c, scantest.c: Don't include <getopt.h> if it doesn't
212 exist.
213
214Mon Jun 12 08:37:49 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
215
216 * pass2.c (process_bad_inode, check_for_zero_long,
217 check_for_zero_char): Change long to u32, and char to u8.
218
219Sun Jun 11 15:05:57 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
220
221 * util.c (inode_has_valid_blocks):
222 * pass2.c (process_bad_inode):
223 * pass1.c (pass1, check_blocks, pass1_check_directory): Use
224 LINUX_S_IS* instead of S_IS*.
225
226 * e2fsck.h: Don't #include <sys/stat.h>
227
228 * flushb.c (main): Add #ifdef BLKFLSBUF around ioctl. (Although
229 this program is pretty much useless if BLKFLSBUF isn't
230 supported.)
231
232 * e2fsck.c, badblocks.c: Add #include <errno.h>, since errno is
233 used.
234
235Thu Jun 8 12:31:19 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
236
237 * pass2.c (check_dot, check_dotdot, check_dir_block): Use alloca
238 to allocate space for file names instead of using fixed size buffers.
239 (process_bad_inode): Only check inode frag fields if
240 HAVE_EXT2_FRAGS is defined (by configure).
241 * pass1.c (pass1): Only check the inode frag fields if
242 HAVE_EXT2_FRAGS is defined (by configure).
243
244 * e2fsck.c (check_mount): Only check for a mounted filesystem if
245 HAVE_MNTENT_H is defined (by configure).
246 (PRS): Use alloca to allocate the new path string, instead of
247 having a fixed size buffer (which was the wrong size anyway).
248 (PRS): Only support the -F (flush) option if the BLKFLSBUF ioctl
249 is defined.
250
251 * e2fsck.h: Only include <linux/fs.h> if HAVE_LINUX_FS_H is
252 defined (by configure).
253
254 * Makefile.in: Rewritten to conform to GNU coding standards and
255 support separate compilation directories.
256
257Thu Apr 6 15:04:36 1995 Remy Card <card@bbj.ibp.fr>
258
259 * pass1.c (pass1): Test the mode in reserved inodes (must be zero).
260
f3db3566
TT
261Sat Mar 11 13:12:16 1995 Theodore Y. Ts'o <tytso@localhost>
262
263 * pass1.c (unwind_pass1): Clear the file type statistics counter
264 when pass 1 needs to be restarted from scratch.
265
266 * pass1.c (handle_fs_bad_blocks): Fix bug where bitmap blocks were
267 being reallocated to blocks in the next block group,
268 instead of the current block grup.
269
270 * pass1.c (pass1, check_blocks): Set inode_link_info[ino] whenever
271 inode.i_links_count is set.
272
273Tue Feb 14 01:38:04 1995 Theodore Y. Ts'o (tytso@rt-11)
274
275 * pass1.c (process_block): Add checks for if the block is
276 trepassing on a superblock or group descriptor table.
277
278Sat Dec 31 00:52:11 1994 <tytso@rsx-11.mit.edu>
279
280 * main.c (corrupt_msg): Extend the message which is printed out
281 when the superblock is corrupt, to include the suggestion
282 of using the -b option to specify an alternate superblock.
283
284Thu Nov 24 09:29:58 1994 Theodore Y. Ts'o (tytso@rt-11)
285
286 * badblocks.c (read_bad_blocks_file): If we are adding or
287 replacing bad blocks in the bad blocks inode, sanity check
288 the bad block inode first, and clear out any illegal blocks.
289
290 * pass2.c (check_name): Don't bomb out if the attempt to get the
291 pathname of the containing directory returns an error; the
292 directory may be too badly damaged to expect that
293 ext2fs_get_pathname will always succeed. Use "???" if the
294 pathname can't be obtained (it's only for a printf to the
295 user anyway).
296
297 The name of the containing directory and the bad filename
298 were incorrectly interchanged in the user message. Fixed.
299
300 * pass2.c (check_name, check_dir_block): Use a common static
301 string for the unknown pathname.
302
303Mon Nov 7 22:30:54 1994 Remy Card <card@bbj>
304
305 * Fixed lots of printf formats to make sure that block and inode
306 numbers are printed as unsigned integers.
307
308Mon Oct 24 14:10:46 1994 (tytso@rsx-11)
309
310 * pass5.c (check_block_end): Fix calculation of how the last block
311 in the block bitmap should be calculated.
312
313Wed Sep 7 10:01:13 1994 (tytso@rsx-11)
314
315 * pass1b.c (pass1_dupblocks): Fix declaration of dup_inode_map to
316 be an ext2fs_inode_bitmap, and free it properly.
317
318 * e2fsck.h
319 * e2fsck.c (main): Folded in Remy Card's changes to add a revision
320 level to the superblock.
321
322Wed Aug 17 22:00:20 1994 Remy Card (card@bbj)
323
324 * e2fsck.c (usage): Fixed bogus usage message.
325
326Wed Aug 17 11:21:45 1994 Theodore Y. Ts'o (tytso@rt-11)
327
328 * pass1.c (process_bad_block): Fixed bug so that blocks in the
329 backup superblocks and group descriptors are handled gracefully.
330