blob: b9170bd212adede7065fc2b40c311f912d8ff8df [file] [log] [blame]
Theodore Ts'oa551b782000-07-13 22:05:31 +000012000-07-13 <tytso@snap.thunk.org>
2
3 * badblocks.8.in: Added text explaining that the -n and -w options
4 are mutually exclusive.
5
6 * badblocks.c (usage): Fix usage message to make it clear that the
7 block count must be specified if the starting block is to
8 be specified. (The starting block should be a option, in
9 the long run.)
10
11 * badblocks.c (test_nd): Save and restore the currently_testing
12 variable before going into the write verification loop.
13 This avoids a loop termination problem if the last block
14 on the disk is bad. Also, turn off the SIGALRM signal
15 while restoring blocks after the user types ^C. The
16 num_saved variable is now static so that it won't get
17 clobbered by a longjmp. buf_used and bb_count are no
18 longer static, since they aren't used by the cleanup
19 routines anymore.
20
21 * badblocks.c (main): Removed an unsued varaible (buf_size).
22 Fixed bad getopt argument that didn't allow the 'b' option
23 to take an argument. Added error checking when parsing
24 the starting block number. Fixed lint warning in fscanf
25 format string.
26
Theodore Ts'o35964b52000-07-06 13:19:43 +0000272000-07-06 Theodore Ts'o <tytso@valinux.com>
28
Theodore Ts'o19c68912000-07-07 03:25:13 +000029 * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
30 fsck.ext2 (because they are the same) for the purposes of
31 the progress bar display logic.
32
Theodore Ts'o45d9e2f2000-07-07 03:12:54 +000033 * tune2fs.8.in: Update manual page to document what happens if
34 max_mount_count is negative.
35
36 * tune2fs.c (main): Allow setting the maximal count value to be
37 negative, since the kernel interprets that as forcing a
38 check.
39
Theodore Ts'o5b1519b2000-07-06 14:16:08 +000040 * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
41 for calling interpret_device(), since this requires root
42 privileges if the partitions need to be scanned.
43 Otherwise, it's not possible to do non-proot fsck's for
44 removeable devices such as floppies if there are any
45 LABEL= or UUID= entries in /etc/fstab.
46
Theodore Ts'o981dc562000-07-06 14:13:29 +000047 * badblocks.c (check_mount, main): Check to see if the filesystem
48 is mounted before doing a read/write or non-destructive
49 test. This can be overriden using the new -f option.
50
Theodore Ts'o35964b52000-07-06 13:19:43 +000051 * badblocks.8.in: Update manual page to reflect that the
52 blocks-count parameter is now optional. Also properly
Theodore Ts'o981dc562000-07-06 14:13:29 +000053 document the start-block parameter. Added documentation
54 for the -f option.
Theodore Ts'o35964b52000-07-06 13:19:43 +000055
56 * badblocks.c (main): Allow the blocks-count parameter to be
57 optional. If it's not specified, use the size of the
58 device as a default.
59
Theodore Ts'od49a22b2000-07-06 00:31:27 +0000602000-07-05 Theodore Ts'o <tytso@valinux.com>
61
62 * badblocks.c (test_nd): Significantly simplify the logic so that
63 it's more obviously what's going on. Fixed a few
64 potential cases which weren't handled correctly in the
65 old, overly complicated logic.
66 (flush_bufs): Now doesn't take a second argument, and
67 always forces a sync; this is required before it's really
68 safe to call BLKFLSBUF, at least for some kernels.
69
Theodore Ts'o26ab5312000-05-29 15:05:42 +0000702000-05-29 Theodore Ts'o <tytso@valinux.com>
71
72 * mke2fs.c (PRS): Add a much more specific error message if the
73 filesystem size is defaulted and get_device_size returns a
74 size of zero. Otherwise, users get a confusing "invalid
75 argument while passed to ext2 library" error message.
76
Theodore Ts'o4ea0a112000-05-08 13:33:17 +0000772000-05-08 Theodore Ts'o <tytso@valinux.com>
78
Theodore Ts'oc96e5112000-05-08 14:47:15 +000079 * fsck.c (interpret_device): Add better error messages if a UUID=
80 or LABEL= specification is given.
81
Theodore Ts'o4ea0a112000-05-08 13:33:17 +000082 * mke2fs.c (main): We forcibly turn off the filetype feature if
83 the OS is the hurd, since the hurd doesn't support it.
84 (And since the hurd allows the transmogrification of files
85 to special files and vice versa --- for no good reason
86 that I can understand --- it can't support the filetype
87 feature for the forseeable future, either.)
88
89 * mke2fs.c (proceed_question): Fix reversed sense of
90 proceed_question that was busted due to the
91 internationalization patch. Fixed bug where if
92 proceed_question was called twice, the input buffer wasn't
93 cleared of the previous question's newline.
94
Theodore Ts'oe2207ce2000-04-06 21:51:18 +000095Thu Apr 6 17:50:25 2000 Theodore Y. Ts'o <tytso@signal.thunk.org>
96
97 * badblocks.c (flush_bufs): Use fsync() if the system doesn't
98 support fdatasync().
99
Theodore Ts'offe4cab2000-04-03 13:27:41 +00001002000-04-03 Theodore Ts'o <tytso@valinux.com>
101
Theodore Ts'o373b8332000-04-03 16:22:35 +0000102 * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
103 uuidgen.c: For platforms that don't define optarg.h,
104 manually define optarg and optind.
105
Theodore Ts'o4d003982000-04-03 16:01:11 +0000106 * badblocks.8.in: Updated manual page with suggestions from David
107 Beattie.
108
109 * badblocks.c (test_nd): Generalized cleanup and bug-fixes. We
110 now explicitly clear out the signal handlers to prevent a
111 longjmp to a deactivated stack frame.
112 (test_rw): Fixed a signed vs. unsigned comparison error.
113
Theodore Ts'offe4cab2000-04-03 13:27:41 +0000114 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
115 mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
116 address.
117 chattr.1.in: Update which attributes aren't supported.
118
Theodore Ts'oe1a0a3e2000-02-11 05:00:19 +00001192000-02-09 Theodore Ts'o <tytso@valinux.com>
120
121 * chattr.1.in:
122 * lsattr.1.in: Change "version" to "version/generation number".
123
124 * chattr.1.in: Fix stupid file vs filesystem typo.
125
126 * tune2fs.c Fix spelling error (spare vs sparse).
127
128 * mke2fs.c (PRS): Add safety check to make sure the number of
129 blocks doesn't exceed 32 bits on a 64 bit machine.
130
131 * chattr.c: Random cleanup; file-only variables are now static.
132 Options for setting/clearings flags put into order, and
133 #ifdef's removed (since we now use a built-in header
134 file). Add error message if user tries to set and reset
135 the same flag.
136
137 * lsattr.c: Random cleanup; file-only variables are now static.
138 The -l "long" listing has been changed to look nicer.
139 Options names have been renamed to be more descriptive.
140
Theodore Ts'odd018f52000-02-06 23:57:07 +00001412000-02-06 Theodore Ts'o <tytso@valinux.com>
142
Theodore Ts'od9c56d32000-02-08 00:47:55 +0000143 * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
144 fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c,
145 mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
146 uuidgen.c: Add Internationalization support as
147 suggested by Marco d'Itri <md@linux.it>.
148
Theodore Ts'odd018f52000-02-06 23:57:07 +0000149 * badblocks.c: Fix non-destructive read/write patches from David
150 Beattie. Non-standard variable-length automatic arrays
151 removed. Non-destrutive write test fixed so that logic is
152 clearer and more provably correct. (I believe the old
153 code had a bug where the disk data wasn't restored if it
154 was interrupted at the wrong time.)
155
156 * badblocks.8.in: Document new options in man page.
157
Theodore Ts'ob4ee1fb2000-02-02 19:08:51 +00001582000-02-02 Theodore Ts'o <tytso@valinux.com>
159
160 * fsck.c (interpret_device): If there was an attempt to interpret
161 a device specification of the type "UUID=" or "LABEL=",
162 and it fails, check to see if /proc/partitions is
163 readable. If not, print a warning message about /proc
164 perhaps not being mounted, and exit.
165
166 * mke2fs.c (check_plausibility): Remove unneeded #include of
167 linux/fs.h. Add #define of MAJOR if necessary.
168
169 * partinfo.c: Remove unneeded #include of linux/fs.h
170
Theodore Ts'o582134c2000-01-19 13:26:23 +00001712000-01-19 Theodore Ts'o <tytso@valinux.com>
172
173 * tune2fs.c (usage): Update the usage message to correctly
174 document the -s option.
175
Theodore Ts'o879ac922000-01-18 20:59:11 +00001762000-01-18 Theodore Ts'o <tytso@valinux.com>
177
178 * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.
179 Need to do cleanup before release: use of GCC extensions
180 (dynamic arrays); unclean coding tricks (use of || instead
181 of if statements, etc.). Comments from David Beattie:
182
183 "I added non-destructive write-testing, and quite a few
184 other features. The non-destructive write testing,
185 triggered by new "-n" command-line option, will write test
186 patterns to the disk, but only after reading data off the
187 disk into memory. Then, comparing the test patterns gives
188 a result as to whether or not those sectors are reliable.
189 Finally, the original data is written back.
190
191 To streamline this operation, I added another option, "-c
192 blocks_at_once", which will give the number of disk blocks
193 to process at one time (mnemonic--"count"). I made this
194 default to 16 (as in the read-only testing mode), and also
195 affect the read-only testing mode. Of course, read-only
196 mode needs (count * block_size) amount of memory, and
197 non-destructive read-write needs 3 times that much, so it
198 makes sense to do the calculations and not overrun
199 available RAM...I would have liked to implement and
200 auto-memory-usage heuristic, but I have no idea if it's
201 even possible to determine the amount of free memory on a
202 Unix system except by reading /proc entries, and that
203 didn't seem portable. I did NOT make this blocks_at_once
204 affect the behavior of the test_rw routine, as it is
205 processing the whole disk at once, anyway.
206
207 I *think* that I got higher detection rates on my hard
208 drive using random test data than patterned test data, so
209 my non-destructive mode initializes its test data buffer
210 randomly.
211
212 I fixed a typo in flush_bufs that caused the ioctl
213 BLKFLSBUF to never get compiled into the program.
214
215 Also, I added an "undocumented" (I didn't put it into the
216 usage message; you can if you think it's useful) "-h"
217 option to specify the host device to flush--useful if you
218 want to test out my "non-destructive" code on something
219 other than a hard drive, such as a file on a hard drive,
220 and want the host hard drive to flush.
221
222 I provided support for an "input" file (via option "-i",
223 similar to the "-o" option)...containing a list of
224 already-known bad blocks; it will skip testing those
225 blocks, thus adding speed to the bad block scan (on my
226 computer, hitting a physically bad block causes a
227 half-second-or-more freeze as the kernel waits for the
228 hard drive to give up and reset itself; pretty annoying
229 when you already know the block is bad from a previous
230 scan).
231
232 Finally, the real killer, the persistent re-scan (option:
233 "-p num_passes") that I created will, if desired,
234 persistently re-scan the drive until it has completed a
235 user-decidable number of passes in a row during which no
236 new bad blocks are found. On my drive, I would see
237 behavior that a certain percentage of bad blocks would be
238 found with each pass (it was not reliable in the defective
239 areas!), so I wanted it to check it over and over again
240 until it didn't find any more, several times. Perhaps
241 this will be useful to others. Defaults of course to
242 zero, meaning it will stop after the first pass. I used
243 "-p 2" on my drive, and it ran for 2 1/2 days...then used
244 "-p 3" a couple days later and it ran for a few more
245 hours, and since then the rest of my drive has been
246 completely reliable.
247
248 Implementation of these last two features, "-i" and "-p",
249 I did using a bb_list from libext2fs. I debated whether
250 bad blocks input through "-i" should be output into the
251 "-o" file (or stdout, of course), and decided against it,
252 but left the code to do so in place, commented out, just
253 for your information.
254
255 In order to maintain data integrity upon interruption of a
256 non-destructive-write test, I created a signal handler
257 which I install which will write back whatever original
258 disk data is in the buffers upon any of the fatal signals
259 (except SIGKILL, of course).
260
261 Of course, ideally, the new options would be reflected in
262 the badblocks manual page, but I am not experienced at
263 manual page modification; if you decide my patch to
264 badblocks should be incorporated into the distribution, I
265 could learn how to update the manpage and other
266 documentation, or you could do it for me after exercising
267 your opinions, if you have any, on exactly what the
268 command-line parameters should be called and which ones
269 should be in the distribution."
270
Theodore Ts'o3cb77842000-01-18 16:30:27 +00002712000-01-07 Theodore Ts'o <tytso@valinux.com>
272
273 * Really fix the bug where "fsck -As" will actually allow
274 interactive fsck's. (For those people who like to do
275 interactive fsck's in the /etc/rc scripts!?!)
276
Theodore Ts'obfd21931999-11-23 13:48:58 +00002771999-11-23 <tytso@valinux.com>
278
279 * tune2fs.8.in: Fix man page so that the sparse_super filesystem
280 option is properly named.
281
Theodore Ts'o6733c2f1999-11-23 02:23:30 +00002821999-11-22 <tytso@valinux.com>
283
284 * mke2fs.c: Change log2() and log10() to int_log2() and
285 int_log10() to avoid namespace collisions. Change #ifdef
286 sparc to #ifdef __sparc__.
287
Theodore Ts'o5c36a2f1999-11-19 18:42:30 +00002881999-11-19 <tytso@valinux.com>
289
290 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
291 the source directory.
292
Theodore Ts'o6fdc7a31999-11-10 13:34:40 +00002931999-11-10 <tytso@valinux.com>
294
Theodore Ts'ocd086361999-11-10 16:00:39 +0000295 * Release of E2fsprogs 1.18
296
2971999-11-10 <tytso@valinux.com>
298
Theodore Ts'o6fdc7a31999-11-10 13:34:40 +0000299 * mke2fs.8.in: Update manual page so that the sparse_option
300 filesystem option is properly named.
301
Theodore Ts'o6a35ffa1999-11-04 22:34:43 +00003021999-11-04 <tytso@valinux.com>
303
304 * fsck.c (main): Move setting of the interactive flag to before
305 the call to check_all(), so that people who try to use
306 fsck -As can do so interactively.
307
Theodore Ts'o36caf251999-10-26 14:29:22 +00003081999-10-26 <tytso@valinux.com>
309
Theodore Ts'o28e11941999-10-26 18:17:20 +0000310 * Release of E2fsprogs 1.17
311
3121999-10-26 <tytso@valinux.com>
313
Theodore Ts'o3bc03661999-10-26 17:17:00 +0000314 * fsck.c (PRS, device_already_active): Add debugging hook; if the
315 environment variable FSCK_FORCE_ALL_PARALLEL is set, then
316 force all fsck runs to happen in parallel.
317
Theodore Ts'o36b01301999-10-26 14:38:36 +0000318 * get_device_by_label.c (has_right_label): Fixed bug where code
319 used a strncmp to compare a binary UUID value which may
320 contain a NULL. Fixed GCC warnings; added const to char *
321 typed variables. Eliminated non-portable use of u_char.
322
Theodore Ts'o4a600561999-10-26 14:35:51 +0000323 * mke2fs.c (PRS): Fix gcc warnings; add const to some char *
Theodore Ts'o9094f281999-10-26 16:42:50 +0000324 variables, including in struct mke2fs_defaults.
325 (set_fs_defaults): Changed parameter name to avoid
326 gcc warnings.
Theodore Ts'o4a600561999-10-26 14:35:51 +0000327
Theodore Ts'ob5135711999-10-26 14:33:24 +0000328 * fsck.c (wait_one): Fix gcc warnings; add #include for ctype.h,
329 add const to char * variables, and use NOARGS to declare
330 functions that take no arguments. Also fix a memory leak
331 in execute() where we weren't freeing argv[] after forking
332 the child process.
333
Theodore Ts'o36caf251999-10-26 14:29:22 +0000334 * chattr.c: Add hack to compile in a definition for S_ISLNK so we
335 can successfully compile even with warnings turned on.
336
Theodore Ts'oad6783d1999-10-26 01:58:54 +00003371999-10-25 <tytso@valinux.com>
338
339 * mke2fs.c (show_stats): Capitalized Hurd to make the GNU types
340 happy.
Theodore Ts'oe6597041999-10-26 02:30:16 +0000341 (PRS): Use __u64 instead of long long for portability
342 reasons. Also moved #include of sys/stat.h inside #ifdef
343 HAVE_LINUX_MAJOR_H for portability reasons.
Theodore Ts'oad6783d1999-10-26 01:58:54 +0000344
345 * fsck.c (execute): Fix really stupid bug in the linked list
346 management which caused fsck in parallel mode to go into
347 an infinite loop.
348
Theodore Ts'o896938d1999-10-23 01:04:50 +00003491999-10-22 <tytso@valinux.com>
350
Theodore Ts'o614fdfd1999-10-23 03:19:51 +0000351 * Release of E2fsprogs 1.16
352
3531999-10-22 <tytso@valinux.com>
354
Theodore Ts'o896938d1999-10-23 01:04:50 +0000355 * tune2fs.c (main): Add a new option -O which allows the user to
356 set and clear certain "safe" filsystem feature flags.
357 Currently, the only ones which are supported for
358 modification are sparse_superblock and filetype.
359
360 * mke2fs.c (PRS): Add new option -O which allows the user to
361 request filesystems with specific filesystem options. By
362 default on 2.2 and later systems, create filesystems that
363 have both file type information and sparse superblocks.
364
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +00003651999-10-21 <tytso@valinux.com>
366
367 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, e2label.8.in,
368 fsck.8.in, lsattr.1.in, mke2fs.8.in, mklost+found.8.in,
369 tune2fs.8.in, uuidgen.1.in: Update man page to use a more standard
370 format (bold option flags and italicized variables), as
371 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
372
Theodore Ts'o7f4bb6c1999-10-20 18:11:01 +00003731999-10-14 <tytso@valinux.com>
374
Theodore Ts'o671cbfa1999-10-20 18:14:23 +0000375 * tune2fs.c (main): Fix typo (double spaces) in messages regarding
376 changing the sparse superblock option
377
Theodore Ts'o7f4bb6c1999-10-20 18:11:01 +0000378 * fsck.c (wait_one): If the fsck process just started, wait a
379 second before sending a SIGUSR1, to give it a chance
380 to set the signal handler; otherwise, fsck will die on an
381 unhandled SIGUSR1.
382
3831999-09-15 <tytso@valinux.com>
Theodore Ts'o76714331999-10-20 18:06:29 +0000384
385 * mke2fs.c (show_stats): Fix display bug when printing out the
386 number of superblocks. Suggested by Yann Dirson.
387
Theodore Ts'o27401561999-09-14 20:11:19 +00003881999-09-08 <tytso@valinux.com>
389
390 * partinfo.c: Fix minor compilation bugs pointed out by Yann
391 Dirson.
392
393 * mke2fs.c: Don't turn on sparse superblocks by default on pre-2.2
394 kernels.
395
396 * mke2fs.8.in: Add the possible valid block sizes for mke2fs.
397 Document the -n flag, and the new defaults for the -s
398 flag.
399
400 * dumpe2fs.c, dumpe2fs.8.in: Add new options -f (force) and -h
401 (header-only).
402
4031999-08-13 <tytso@valinux.com>
404
405 * mke2fs.c (PRS): Fix logic for turning on/off the sparse
406 superblock option.
407
4081999-07-18 Theodore Ts'o <tytso@valinux.com>
Theodore Ts'o657cb971999-07-30 23:19:10 +0000409
410 * Release of E2fsprogs 1.15
411
Theodore Ts'o50787ea1999-07-19 15:30:21 +00004121999-07-18 <tytso@rsts-11.mit.edu>
413
414 * mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows
415 the user to specify the how the filesystem is to be used.
416 Mke2fs now chooses the filesystem parameters automatically
417 based on the size of the filesystem and the intended use
418 of the filesystem. Add new option -n which simply goes
419 through the calculations to determine the parameters of
420 the filesystem the system would make.
421
4221999-07-18 <tytso@valinux.com>
423
424 * fsck.c, fsck.h: Add support for new option -C. This option will
425 automatically manage e2fsck processes so that they will
426 print completion/progress bars. If multiple filesystems
427 are being checked, arrange to make sure that only one
428 e2fsck process is displaying a progress bar at a time.
429
4301999-07-08 <tytso@valinux.com>
Theodore Ts'o9f10a7b1999-07-16 10:41:36 +0000431
432 * badblocks.c (do_test): Don't complain if the write error occurs
433 on a non-block boundary. This is perfectly common when
434 using blocksizes larger than 1k.
435
Theodore Ts'oc54b3c31999-07-03 07:20:06 +00004361999-07-03 <tytso@valinux.com>
Theodore Ts'o5dbb0721999-07-03 06:16:06 +0000437
438 * uuidgen.c: Add option parsing so that user can ask for either a
439 time-based UUID or a random-based UUID.
440
Theodore Ts'oc54b3c31999-07-03 07:20:06 +00004411999-07-02 <tytso@valinux.com>
Theodore Ts'o2d8defd1999-07-03 01:59:42 +0000442
443 * fsck.c: Added support for LABEL= and UUID= specifications for
444 the filesystem's device, to match what recent mount
445 programs can support. Also, close stdin when doing fsck
446 -A or when checking more than one filesystem at a time, so
447 that e2fsck doesn't try to ask interactive questions if
448 the filesystem appears to be mounted.
449
450 * get_device_by_label.c: New file added to support LABEL=foo and
451 UUID=bar type specifications.
452
Theodore Ts'o00eedba1999-07-03 00:45:58 +00004531999-07-01 <tytso@valinux.com>
454
455 * badblocks.c: Make the "done" string include enough spaces to
456 clear out a large block number.
457
Theodore Ts'oca3c3281999-06-29 14:37:35 +00004581999-06-29 <tytso@valinux.com>
459
460 * mke2fs.c (check_mount): Allow a filesystem to be made even if it
461 appears mounted if the force option is given.
462
Theodore Ts'oe72a9ba1999-06-25 15:40:18 +00004631999-06-24 <tytso@valinux.com>
464
465 * mke2fs.8.in: Fix typo in man page which caused the badblocks
466 command to not show up in the "SEE ALSO" section.
467
Theodore Ts'oe2423cc1999-06-18 00:51:31 +00004681999-05-02 <tytso@rsts-11.mit.edu>
469
470 * findsuper.c: Added documentation from aeb@cwi.nl; some minor
471 code cleanups.
472
Theodore Ts'o02e7dd91999-06-18 00:48:41 +00004731999-05-20 <tytso@rsts-11.mit.edu>
474
475 * dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which
476 allow a filesystem expert to specify the superblock and
477 blocksize when opening a filesystem. This is mainly
478 useful when examining the remains of a toasted filesystem.
479
Theodore Ts'o5d45d801999-03-16 19:35:19 +00004801999-03-11 Andreas Dilger <adilger@enel.ucalgary.ca>
481
482 * uuidgen.c, uuidgen.1.in: Created command-line utility to
483 generate UUIDs.
484
4851999-03-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
486
487 * fsck.c (fsck_device, execute): Don't dereference a null pointer
488 when checking a filesystem not in /etc/fstab.
489
Theodore Ts'o7d5633c1999-02-09 08:14:28 +00004901999-02-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
491
492 * fsck.c (fsck_device): Print an error message if the user passes
493 in a device or directory name which isn't found in /etc/fstab.
494 Allow the location of /etc/fstab to be overridden by
495 the FSTAB_FILE environment variable.
496
4971999-01-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
498
499 * mke2fs.c (write_inode_tables): Add kludge code so that when the
500 MKE2FS_SYNC environment variable is set, mke2fs will sync
501 every MKE2FS_SYNC block groups, while it is writing out
502 the inode tables. This is to work around a VM bug in the
503 2.0 kernel. I've heard a report that a RAID user was able
504 to trigger it even using a 2.2 kernel.
505
Theodore Ts'oee922991999-01-16 05:39:12 +00005061999-01-16 Theodore Ts'o <tytso@rsts-11.mit.edu>
507
508 * fsck.c (execute, wait_one): Modified routines so that they
509 accurately create an fsck_instance even when the noexecute
510 flag is set. This allows for accurate debugging of the
511 fsck pass structure.
512 (check_all): When the verbose flag is given twice, print
513 debugging information about when fsck is waiting for jobs
514 to finish.
515
Theodore Ts'o7953f611999-01-09 05:03:52 +00005161999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
517
Theodore Ts'o9e51eca1999-01-09 16:32:31 +0000518 * Release of E2fsprogs 1.14
519
5201999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
521
Theodore Ts'o7953f611999-01-09 05:03:52 +0000522 * fsck.8.in: Clarified and expanded the documentation for the -A
523 switch.
524
Theodore Ts'o665f7101999-01-08 13:33:39 +00005251999-01-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
526
527 * fsck.c (load_fs_info): If the pass number field is missing, it
528 needs to be treated as zero.
529
Theodore Ts'oa88fa0c1999-01-05 07:02:39 +00005301999-01-05 Theodore Ts'o <tytso@rsts-11.mit.edu>
531
Theodore Ts'o5515e6b1999-01-05 07:25:06 +0000532 * mke2fs.c (PRS): Allow the user to specify exactly how many
533 inodes he/she wishes.
534
Theodore Ts'oa88fa0c1999-01-05 07:02:39 +0000535 * chattr.c, lsattr.c: Only print the version information for the
536 program if the -V option is given.
537
538 * chattr.c: Ignore symbolic links when doing a recursive descent
539 through a directory.
540
Theodore Ts'o93ab9d71999-01-02 04:04:42 +00005411999-01-01 Theodore Ts'o <tytso@rsts-11.mit.edu>
542
543 * fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines
544 are commented out. Also allow blank lines in the
545 /etc/fstab file.
546 (execute): In verbose mode, print the mountpount of the
547 filesystem which we are checking (user request).
548
5491998-12-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
550
551 * mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
552 compatibility with Linux 1.2.13 header files.
553
Theodore Ts'o556ad131998-12-19 08:10:58 +00005541998-12-15 Theodore Ts'o <tytso@rsts-11.mit.edu>
555
556 * Release of E2fsprogs 1.13
557
Theodore Ts'ocb620171998-12-08 02:21:29 +00005581998-12-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
559
560 * mke2fs.8.in: Fixed stupid typo ("Raid options are _comma_
561 seperated", instead of common separated)
562
Theodore Ts'o5a679c81998-12-03 16:40:38 +00005631998-12-03 Theodore Ts'o <tytso@rsts-11.mit.edu>
564
565 * Makefile.in: Updated dependencies.
566
5671998-11-27 Theodore Ts'o <tytso@rsts-11.mit.edu>
568
569 * fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of
570 relying on getmntent(). This has the advantage of
571 allowing us to properly handle missing pass numbers correctly.
572
Theodore Ts'o1dde43f1998-11-14 04:18:28 +00005731998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
574
575 * tune2fs.8.in: Fix minor display bug in the nroff.
576
577 * mke2fs.c (show_stats, write_inode_tables): Use the log10
578 function to calculate the display of block numbers so that
579 things look nice on an 80 character display.
580
5811998-10-12 Theodore Ts'o <tytso@rsts-11.mit.edu>
582
583 * mke2fs.c (usage): Add the sparse-super-flag to the usage
584 message.
585
Theodore Ts'o4a5fa191998-07-09 05:42:45 +00005861998-07-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
587
588 * Release of E2fsprogs 1.12
589
Theodore Ts'oeb5ab741998-07-04 17:47:52 +00005901998-07-04 Theodore Ts'o <tytso@rsts-11.mit.edu>
591
592 * findsuper.c (main): Print the block group number which is now
593 being written by e2fsprogs.
594
Theodore Ts'o818180c1998-06-27 05:11:14 +00005951998-06-25 Theodore Ts'o <tytso@rsts-11.mit.edu>
596
597 * fsck.c (ignore): Remove unused variable cp.
598
599 * chattr.c (fatal_error):
600 * tune2fs.c (usage):
601 * lsattr.c (usage):
602 * dumpe2fs.c (usage):
603 * badblocks.c (usage): Remove volatile from declaration.
604
605 * fsck.c: Change use of strdup to be string_copy, since we don't
606 trust what glibc is doing with strdup. (Whatever it is,
607 it isn't pretty.)
608
6091998-06-19 Theodore Ts'o <tytso@rsts-11.mit.edu>
610
611 * mke2fs.c (PRS): Add a -V option which prints the version number
612 and exit.
613
Theodore Ts'o4bf5fbf1998-05-14 22:43:10 +00006141998-05-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
615
616 * fsck.c (ignore): Remove check for filesystems with the noauto
617 option.
618
Theodore Ts'o7e44f241998-04-01 03:16:29 +00006191998-03-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
620
621 * Makefile.in: Change to use new installation directory variables
622 convention. Fix uninstall rules to take $(DESTDIR) into
623 account. Remove cat8dir and cat1dir from the installdirs
624 target, since modern man package don't necessarily put the
625 cat directory in /usr/man/cat?.
626
Theodore Ts'oa789d841998-03-30 01:20:55 +00006271998-03-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
628
Theodore Ts'o3b27db91998-03-30 01:32:10 +0000629 * e2label.8.in: New man page to document the e2label function.
630
Theodore Ts'oa789d841998-03-30 01:20:55 +0000631 * e2label.c: Fix -Wall warning by making functions static.
632
6331998-03-28 Theodore Ts'o <tytso@rsts-11.mit.edu>
634
635 * chattr.1.in: Document that the append-only attribute may
636 only be set or cleared by the superuser.
637
638 * Update all manual pages to that the availability section is
639 up-to-date.
640
641 * e2label.8.in, tune2fs.8.in: Update manual page to state that
642 labels must be no longer than 16 characters, or they will
643 be truncated.
644
645 * e2label.c (change_label), tune2fs.c (main): If the label is
646 longer than 16 characters, print a warning message stating
647 that the label will be truncated.
648
649 * mke2fs.c (PRS): If the user specifies a filesystem size, and
650 it's larger than the apparent size of the device, print a
651 warning message and ask if the user wants to proceed.
652
Theodore Ts'obbfa3aa1998-03-21 07:12:46 +00006531998-03-21 Theodore Ts'o <tytso@rsts-11.mit.edu>
654
655 * mke2fs.c (check_plausibility): Fixed spelling typo in warning
656 message. Fixed up -Wall warnings in file.
657
Theodore Ts'oe9271681998-03-09 03:23:51 +0000658Sun Mar 8 22:21:48 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
659
660 * partinfo.c (main): The ioctl BLKGETSIZE requires a long, not an
661 int.
662
Theodore Ts'o92bcc591998-02-16 22:29:34 +0000663Sun Feb 1 16:53:36 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
664
665 * badblocks.8: Update documentation to note that output format
666 of badblocks is suitable for use with e2fsck -l or
667 mke2fs -l.
668
669 * mke2fs.c (handle_bad_blocks): Fix bug so that all groups with
670 bad superblock backup blocks are printed (not just the
671 first one).
672
Theodore Ts'oca8abba1998-01-19 14:55:24 +0000673Mon Dec 1 17:01:04 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
674
675 * badblocks.8.in: Add documentation for the -s option.
676
Theodore Ts'o519149f1997-10-25 03:49:49 +0000677Fri Oct 24 23:37:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
678
679 * fsck.c:
680 * chattr.c: Remove #include of getopt.h, since it's not needed.
681
682 * tune2fs.c (main):
683 * lsattr.c (main):
684 * badblocks.c (main):
685 * dumpe2fs.c (main):
686 * mke2fs.c (PRS): Make the variable which getopt returns into be
687 an int, so that it won't lose on platforms where char is
688 unsigned.
689
Theodore Ts'od163b091997-10-03 17:42:28 +0000690Fri Oct 3 13:38:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
691
692 * mke2fs.c (parse_raid_opts): Make parse_raid_opts return a void,
693 to fix a -Wall warning.
694
Theodore Ts'o00e54331997-09-16 02:13:52 +0000695Mon Sep 15 22:07:12 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
696
697 * tune2fs.c (main):
698 * mklost+found.c (main):
699 * lsattr.c (main):
700 * dumpe2fs.c (main):
701 * chattr.c (main):
702 * badblocks.c (main): Declare main to return an int, as required.
703 Make sure main always ends with an exit(0). (Some
704 programs weren't doing this, and thus were returning a
705 random exit value.)
706
Theodore Ts'oab6b8ab1997-07-14 19:28:55 +0000707Mon Jul 14 15:27:29 1997 Theodore Y. Ts'o <tytso@mit.edu>
708
709 * e2label.c: New file contributed by Andries Brouwer which
710 provides an easy-to-use interface to modify the filesystem
711 label.
712
713 * Makefile.in (SPROGS): Add Makefile support to build e2label
714
Theodore Ts'o024996c1997-06-17 05:38:35 +0000715Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
716
717 * Release of E2fsprogs 1.11
718
Theodore Ts'oe22d4611997-06-17 03:57:27 +0000719Mon Jun 16 23:37:54 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
720
721 * mke2fs.c (show_stats): Adjust the number of columns printed when
722 displaying the superblock backups to avoid running over
723 80 columns when making a really big disk.
724
Theodore Ts'of635d7f1997-05-09 02:50:16 +0000725Thu May 8 22:22:08 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
726
Theodore Ts'o583ccdc1997-05-09 03:06:31 +0000727 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, fsck.8.in,
728 mke2fs.8.in, tune2fs.8.in: Fix minor typos and grammer
729 oops found by Bill Hawes (whawes@star.net).
730
Theodore Ts'of635d7f1997-05-09 02:50:16 +0000731 * mke2fs.c (test_disk): Pass the blocksize to the bad blocks
732 command so that all of the filesystem gets tested in the
733 case where the blocksize 2048 or 4096.
734
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000735Thu Apr 24 12:16:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
736
737 * Release of E2fsprogs version 1.10
738
739Thu Apr 24 09:52:47 1997 Theodre Ts'o <tytso@localhost.mit.edu>
740
741 * mke2fs.c: Added new option -R, which specifies RAID options.
742 Currently the only supported RAID option is "stride" which
743 specifies the stripe width in RAID filesystem. This is
744 used to aid in the placement of the inode and block
745 bitmaps.
746
747 * mke2fs.8.in, tune2fs.8.in: Added warnings that the sparse
748 superblock option isn't yet supported by most kernels.
749
750Wed Apr 23 22:42:51 1997 Theodre Ts'o <tytso@localhost.mit.edu>
751
752 * mke2fs.c (PRS): Make the default filesystem revision be 0, not
753 1. (Since some people are still worried about 1.2.13
754 compatibility).
755
756Thu Apr 17 12:23:38 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
757
758 * Release of E2fsprogs version 1.09
759
Theodore Ts'o2ecc6fe1997-04-29 17:57:00 +0000760Fri Apr 11 18:57:24 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
761
762 * chattr.1.in: Updated man page so that the 'A' attribute is
763 specified everywhere.
764
765 * chattr.c (usage): Added usage message for the 'A' attribute.
766
767Fri Apr 11 18:56:26 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
768
769 * Release of E2fsprogs version 1.08
770
Theodore Ts'o521e3681997-04-29 17:48:10 +0000771Thu Apr 10 07:08:03 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
772
773 * dumpe2fs.c (list_desc): List the offsets of the inode and block
774 bitmaps, and the inode table. List the block boundaries
775 for the groups.
776
777Sat Apr 5 11:55:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
778
779 * tune2fs.c (main): Implement the -s flag allows the user to
780 set and reset the sparse superblock flag.
781
782 * mke2fs.c (PRS): By default generate DYNAMIC revision
783 filesystems. The -s flag controls whether or not the
784 sparse superblock flag is set.
785 (PRS): Change to allow the user to specify the true
786 maximum number of blocks per group to reflect the
787 blocksize.
788
Theodore Ts'o19c78dc1997-04-29 16:17:09 +0000789Wed Mar 12 13:32:05 1997 Theodore Y. Ts'o <tytso@mit.edu>
790
791 * Release of E2fsprogs version 1.07
792
793Thu Mar 6 17:15:05 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
794
795 * mke2fs.c (create_root_dir): Set the root directory's i_uid and
796 i_gid to be the real user and group id.
797
798Tue Mar 4 10:14:33 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
799
800 * mke2fs.c (check_plausibility): Add more intelligent error
801 messages when the device doesn't exist.
802
803Sat Mar 1 10:43:32 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
804
805 * fsck.c (main): Fix bug where the PATH environment variable isn't
806 set when it is unset.
807
808Tue Jan 14 12:30:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
809
810 * mke2fs.c (write_inode_tables): Fixed bug in write_inode_tables
811 where a loop variable was getting reused in a nested loop.
812 This caused the inode table to not be correctly
813 initialized.
814
815Thu Jan 2 00:00:37 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
816
817 * lsattr.c, chattr.c: Include string.h, since we use memcpy().
818
819 * findsuper.c: Use time_t for ctime(), not __u32.
820
821Sat Dec 28 23:39:18 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
822
823 * badblocks.c: Adapted -vv modifications from Rik Faith so that
824 they frequently update the block number field.
825
826 * badblocks.8.in: Document the optional start-block parameter
827
828Mon Oct 14 11:52:58 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
829
830 * mke2fs.c: Updated to use new ext2fs_allocate_tables() function.
831
832Tue Oct 8 02:02:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
833
834 * Release of E2fsprogs version 1.06
835
Theodore Ts'o5c576471997-04-29 15:29:49 +0000836Mon Oct 7 00:56:24 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
837
838 * chattr.1.in: Documented the 'A' (noatime) attribute.
839
840 * dumpe2fs.c (main): Change EXT2_SWAP to EXT2_FLAG_SWAP for
841 consistency's sake.
842
843Sun Sep 22 16:18:47 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
844
845 * chattr.c (decode_arg): Add support for the 'A' (noatime) flag.
846
847Thu Sep 12 15:23:07 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
848
849 * Release of E2fsprogs version 1.05
850
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000851Sat Sep 7 07:34:11 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
852
853 * tune2fs.c (main): Add support for new option -C, which sets the
854 current number of mounts.
855 (main): Allow the interval to be specified in seconds,
856 mostly for debugging.
857
858Tue Aug 27 17:27:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
859
860 * Makefile.in (SMANPAGES): Use @FSCK_MAN@ instead of fsck.8.
861 (SPROGS): Use @FSCK_PROG@ instead of fsck.
862
863Thu Aug 22 00:51:44 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
864
865 * mke2fs.c (zap_bootblock): Don't do zap_bootblock on a
866 sparc.
867
868Tue Aug 20 00:15:46 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
869
870 * chattr.c (main): Fixed bug so that chattr -v works. (Bug report
871 and fix sent by Charles Howes, chowes@eznet.ca)
872
873Fri Aug 9 11:52:42 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
874
875 * tune2fs.8.in:
876 * tune2fs.c: Added support for the -L option which sets the volume
877 label, the -M option which sets the last mounted
878 directory, and the -U option which sets the filesystem UUID.
879
880 * mke2fs.8.in:
881 * mke2fs.c: Added support for the -o option, which overrides the
882 creator OS. Generate a UUID for the filesystem, if
883 applicable. Added support for the -L option which sets
884 the volume label, and the -M option which sets the last
885 mounted directory.
886
887Sat Jun 22 17:43:17 1996 Remy Card <card@bbj.linux.eu.org>
888
889 * chattr.c (decode_arg): Integrated Michael Nonweiler's fix to
890 avoid a segmentation fault when the "-v" option is used
891 and no version number is specified.
892
Theodore Ts'o62c06f71997-04-29 14:34:47 +0000893Thu May 16 11:12:30 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
894
895 * Release of E2fsprogs version 1.04
896
897Wed May 15 21:15:43 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
898
899 * Makefile.in (fsck): fsck doesn't need to be linked with the ext2
900 libraries.
901
Theodore Ts'o7f88b041997-04-26 14:48:50 +0000902Wed Mar 27 00:33:40 1996 <tytso@rsts-11.mit.edu>
903
904 * Release of E2fsprogs version 1.03
905
906Thu Mar 7 03:43:20 1996 <tytso@rsts-11.mit.edu>
907
908 * mke2fs.c (PRS): Add (for development only) support to
909 specify revision and inode size of the new filesystem.
910
911Tue Mar 5 03:51:35 1996 <tytso@rsts-11.mit.edu>
912
913 * mke2fs.8.in: Fix a few minor typo's in the man page.
914
915 * mke2fs.c (reserve_inodes): Add support for dynamic first inode
916 revision.
917
918Mon Feb 5 22:19:49 1996 <tytso@rsts-11.mit.edu>
919
920 * fsck.c (check_all, PRS): Added new flag -P, which turns on the
921 parallel root option. This allows you to check the root
922 filesystem in parallel with the other filesystems. Note
923 that this is not the safest thing in the world to do,
924 since if the root filesystem is in doubt things like
925 the e2fsck executable might be corrupted! But some
926 sysadmins, who don't want to repartition the root
927 filesystem to be small and compact, may really want this
928 option turned on.
929
Theodore Ts'o74becf31997-04-26 14:37:06 +0000930Wed Jan 31 11:06:08 1996 <tytso@rsts-11.mit.edu>
931
932 * Release of E2fsprogs version 1.02
933
934Tue Oct 30 21:14:12 1995 <tytso@rsts-11.mit.edu>
935
936 * mke2fs.c (check_plausibility): Add check to warn user if they
937 are trying to mke2fs the whole disk. (/dev/hda
938 vs. /dev/hda1)
939
940Fri Dec 15 19:09:56 1995 <tytso@rsts-11.mit.edu>
941
942 * fsck.c (check_all): If we break out of the loop because we are
943 serializing and have just started at fsck we haven't
944 finished the pass. We need to go round again in case there
945 are more filesystems to be done in this pass. (Patch
946 submitted by Mike Jagdis)
947
948Sat Dec 9 10:07:16 1995 <tytso@rsts-11.mit.edu>
949
950 * dumpe2fs.c (in_use): test_bit() was renamed to
951 ext2fs_test_bit().
952
Theodore Ts'o297f47a1997-04-26 14:25:20 +0000953Mon Oct 30 20:21:18 1995 <tytso@rsts-11.mit.edu>
954
955 * fsck.c (fsck_device): Check fstype instead of type; this was a
956 stupid typo which caused coredumps in some cases.
957
Theodore Ts'oa418d3a1997-04-26 14:00:26 +0000958Thu Oct 26 12:05:18 1995 <tytso@rsts-11.mit.edu>
959
960 * Makefile.in (install): Strip programs when they are installed.
961
962Fri Aug 18 15:10:40 1995 Theodore Y. Ts'o <tytso@dcl>
963
964 * mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
965 so we do the check to see if the filesystem is mounted
966 *before* we try to determine the size of the device.
967
968Wed Sep 6 23:34:07 1995 Remy Card <card@bbj>
969
970 * fsck.c (load_fs_info): Load the informations from /etc/fstab in
971 the same order.
972
973Thu Aug 17 22:33:09 1995 <tytso@rsts-11.mit.edu>
974
975 * mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
976 function to determine if the device is mounted.
977
978 * mke2fs.c (PRS): Change call to use the new
979 ext2fs_get_device_size() function in order to determine
980 the size of the filesystem. Remove get_size() and
981 is_valid_offset(), which are no longer called.
982
983Fri Aug 11 08:26:24 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
984
985 * fsck.c (fsck_device): Make sure fstype has been set by the user
986 and that it does not begin with "no" and the user has
987 specified exactly one type before using it as the type to
988 check.
989
990Fri Aug 11 14:17:18 1995 Remy Card <card@bbj>
991
992 * badblocks.8:
993 * chattr.1:
994 * dumpe2fs.8:
995 * fsck.8:
996 * lsattr.1:
997 * mke2fs.8:
998 * mklost+found.8:
999 * tune2fs.8: Updated date and version number.
1000
1001Thu Aug 10 14:18:36 1995 Remy Card <card@bbj>
1002
1003 * tune2fs.c: Fixed a bug which prevented the use of user and group
1004 names with the -g and -u options. Thanks to Jean Christophe
1005 ANDRE <progfou@mycrob.cafard.freenix.fr>.
1006
1007 * mke2fs.8:
1008 * tune2fs.8: Fixed a spelling error in Ted's name :-)
1009
1010Wed Aug 9 20:41:54 1995 Theodore Y. Ts'o <tytso@dcl>
1011
1012 * mke2fs.c (count_blocks): Divide the size by
1013 EXT2_BLOCK_SIZE(&param), instead of assuming that the
1014 blocksize is always 1024 bytes.
1015
1016Sat Aug 5 12:00:51 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1017
1018 * mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
1019 not portable!! In any case putenv() in some systems must
1020 take a static character array or malloc()'ed memory;
1021 passing memory allocated using alloca() to putenv() is not
1022 advisable.
1023
1024 * chattr.c (chattr_dir_proc):
1025 * lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
1026 alloca is not portable!
1027
1028 * fsck.c (fsck_device): If the filesystem type is specified by the
1029 user using the -t option, let it override the type in
1030 /etc/fstab.
1031
1032 * fsck.c (strdup): Don't build strdup() if the system defines it.
1033
1034Mon Jun 12 19:15:10 1995 Theodore Y. Ts'o (tytso@dcl)
1035
1036 * chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
1037 benefit.
1038
1039 * The $(UPROGS) go in bin, not sbin.
1040
1041 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1042 tune2fs.c: Don't include <getopt.h> if it doesn't exist.
1043
1044Mon Jun 12 16:36:04 1995 Theodore Y. Ts'o <tytso@dcl>
1045
1046 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1047 tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
1048
1049Sat Jun 10 23:37:09 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1050
1051 * chattr.c: Include errno.h, since we use errno
1052
1053 * fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
1054 explicitly initialize filesys_info to be NULL.
1055
1056 * mke2fs.c: Include the stdio.h and errno.h header files
1057
1058Thu Jun 8 13:25:23 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
1059
1060 * mke2fs.c: Only include <linux/fs.h> if we can.
1061 (get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
1062 (check_mount): Only check to see if the device is mounted if
1063 HAVE_MNTENT_H is defined (by configure).
1064
1065 * fsck.c (load_fs_info): Only try to get info about filesystems if
1066 HAVE_MNTENT_H is defined (by configure).
1067 (main): Allocate space for a new fsck_path instead of append to a
1068 statically sized buffer.
1069 (PRS): Use alloca to allocate the new path string, instead of
1070 having a fixed size buffer (which was the wrong size anyway).
1071
1072 * chattr.c (chattr_dir_proc): Use alloca to allocate space for a
1073 filename instead of using a fixed-size buffer.
1074 * lsattr.c (lsattr_dir_proc): Ditto.
1075 * mklost+fond.c (main): Calculate the actual needed size for the
1076 path buffer instead of using MAXPATHLEN (which not all systems have).
1077
1078 * badblocks.c: Only include linux include files if we have them.
1079 (flush_bufs): New function to flush a block device, optionally
1080 syncing it first. This replaces other copies of this code.
1081 (test_ro): Replace calls to ioctl with flush_bufs().
1082 (test_rw): Ditto.
1083
1084 * Makefile.in: Rewritten to conform to GNU coding standards and
1085 support separate compilation directories.
1086
Theodore Ts'of3db3561997-04-26 13:34:30 +00001087Sat Mar 11 10:59:58 1995 Theodore Y. Ts'o <tytso@localhost>
1088
1089 * mke2fs.c (main, zap_bootblock): Added new function
1090 zap_bootblock() which clears the first 512 bytes of the
1091 filesystem. This protects the filesystem from being
1092 misidentified as a MS-DOS FAT filesystem.
1093
1094 * badblocks.c (alarm_intr, test_ro, test_rw): Increase the space
1095 allocated for printing the block numbers, so that the
1096 display doesn't get corrupted when running badblocks on a
1097 very large partition.
1098
1099 * badblocks.c (do_test, test_ro, test_rw): Added missing cast to
1100 ext2_loff_t, so that when checking a large device,
1101 spurious seek errors aren't reported.
1102
1103 * mke2fs.c (count_blocks): Declare mid to be of type ext2_loff_t
1104 instead of type int, so that it works for filesystems
1105 greater than 2 GB. (Fortunately count_blocks is only
1106 called if the device does not support the BLKGETSIZE
1107 ioctl, which most do.)
1108
1109 * fsck.c (ignore): Add check to ignore filesystems with a pass
1110 number of zero. (This check was accidentally deleted at
1111 during 0.5b development.)
1112
1113Sat Dec 31 00:47:16 1994 <tytso@rsx-11.mit.edu>
1114
1115 * mke2fs.c (new_table_block, alloc_tables, PRS, main): Add a new
1116 option, -S, which only writes the superblock and group
1117 descriptors. Useful for recovering when all of the
1118 superblocks are corrupted somehow (as a last ditch
1119 measure).
1120
1121 Also, don't bother initializing the bitmap blocks in
1122 alloc_tables(), since they will be overwritten at the end
1123 anyway. (Should speed up mke2fs by a little.)
1124
1125Tue Dec 6 02:20:55 1994 <tytso@rsx-11.mit.edu>
1126
1127 * fsck.c (main): Fix stupid typo where a null inst would be freed.
1128
1129 * fsck.c (wait_one): Check WIFEXITED on status before trying to
1130 extract the exit status. In other cases, return
1131 FSCK_ERROR if the back end processor exited with a signal.
1132
1133Tue Nov 15 10:20:00 1994 Remy Card <card@bbj>
1134
1135 * tune2fs.c (main): Fixed a bug which prevented the use of the
1136 new options.
1137 Added the `w' (week) suffix recognition in the check interval.
1138
1139Sun Nov 13 15:58:48 1994 (tytso@rsx-11)
1140
1141 * fsck.c (load_fs_info): If the user has an obviously old
1142 /etc/fstab file, issue a warning message and assume that
1143 all partitions should be checked.
1144
1145Sat Nov 12 00:33:18 1994 (tytso@rsx-11)
1146
1147 * dumpe2fs.c (list_desc): Update to new inode and block bitmap
1148 structures.
1149
1150 * mke2fs.c (create_root_dir): Create the root directory owned by
1151 the effective uid.
1152
1153Mon Nov 7 22:04:37 1994 Remy Card <card@bbj>
1154
1155 * tune2fs.c (main.c): Added support for new options:
1156 -r reserved_blocks_count, -g reserved_gid, -u reserved_uid.
1157
1158Sun Aug 21 00:57:33 1994 Theodore Y. Ts'o (tytso@rt-11)
1159
1160 * fsck.c (ignore): If the pass number is 0, ignore the filesystem.
1161
1162Wed Aug 17 21:55:03 1994 Remy Card (card@bbj)
1163
1164 * badblocks.c (test_rw): Added verbose output like in the
1165 read-only test.
1166
1167 (do_test and test_rw): Use the llseek system call if available.
1168
1169 * chattr.c: Added support for new attributes.
1170
1171 * lsattr.c: Added support for long format.
1172
1173 * mke2fs.c (usage): Fixed bogus usage message.
1174
1175 (valid_offset): Use the llseek system call if available.
1176
1177Wed Aug 17 10:50:57 1994 Theodore Y. Ts'o (tytso@rt-11)
1178
1179 * mke2fs.c (handle_bad_blocks): Check to see if a bad block is
1180 where a backup superblock/group descriptor is stored. If so,
1181 print a warning message and adjust the superblock counts so that
1182 they are correct. (Otherwise, the bad block will get counted
1183 twice and the # of free blocks count will be wrong.)
1184
1185 (alloc_tables): Removed code which calcualated the free block
1186 statistics, which was moved to lib/ext2fs/initialize.c. This
1187 allows the bad block code to adjust the group descriptor
1188 statistics if necessary.