blob: ee599c413366e151188c458e7921c115faca72b3 [file] [log] [blame]
Theodore Ts'o4055ef72001-01-14 16:11:14 +000012001-01-14 Theodore Ts'o <tytso@valinux.com>
2
3 * tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush
4 stdout after printing in-progress message.
5 (main): Exit with status code 1 if we failed to determine
6 the mount status of the device.
7
Theodore Ts'odfcdc322001-01-11 15:38:00 +000082001-01-11 <tytso@snap.thunk.org>
9
Theodore Ts'oc8c071a2001-01-11 16:08:23 +000010 * e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c,
11 uuidgen.c: Fix gcc -Wall complaints, including one bug in
12 tune2fs caused by a block automatic shadowing version of
13 the variable we really wanted to use, which broke the
14 logic testing to see if the filesystem was mounted.
15
Theodore Ts'o4d404542001-01-11 16:04:59 +000016 * badblocks.c (flush_bufs): Use ext2fs_sync_device() to sync and
17 flush the device.
18
Theodore Ts'odfcdc322001-01-11 15:38:00 +000019 * mke2fs.c: Change ino_t to ext2_ino_t.
20
Theodore Ts'o83238152001-01-09 00:16:26 +0000212001-01-08 <tytso@snap.thunk.org>
22
23 * Makefile.in, tune2fs.c: Move e2label functionality into tune2fs,
24 using argv[0] as a dispatch. This allows e2label to be
25 (more) safely used on mounted filesystems.
26
Theodore Ts'o8820c792001-01-06 04:20:03 +0000272001-01-05 <tytso@snap.thunk.org>
28
29 * get_device_by_label.h (get_volume_label_by_spec): Add function
30 prototype.
31
32 * get_device_by_label.c: Use string_copy() instead of strdup() for
33 portability's sake. Fix a few other gcc -Wall
34 complaints.
35
36 * fsck.c (string_copy): Export string_copy() extern.
37
38 * badblocks.c: Fix various gcc -Wall complaints, including
39 an incorrect reference to sync in flush_bufs().
40
Theodore Ts'o63985322001-01-03 17:02:13 +0000412001-01-03 <tytso@snap.thunk.org>
42
43 * tune2fs.c (update_feature_set, add_journal): Moved to separate
44 functions. Added ability to add and remove the journal
45 while the filesystem is live. Added support for setting
46 a time-based UUID. Removed zero-initialized static variables.
47
48 * mke2fs.c, util.c, util.h (strcasecmp, proceed_question,
49 check_plausibility, parse_journal_opts, check_mount):
50 Moved functions to util.c so they can be used by tune2fs.
51
52 * mke2fs.c (main): Change ext2fs_add_journal_fs() to
53 ext2fs_add_journal_inode() to reflect function renaming.
54
Theodore Ts'ob21e38a2001-01-01 15:26:58 +0000552001-01-01 <tytso@snap.thunk.org>
56
Theodore Ts'oef9abe52001-01-01 15:31:53 +000057 * mke2fs.c, e2image.c: Removed references to struct ext2fs_sb to
58 struct ext2_super_block.
59
Theodore Ts'ob21e38a2001-01-01 15:26:58 +000060 * tune2fs.c (main): Add support to allow HAS_JOURNAL flag to be
61 cleared, but only if the filesystem is unmounted or
62 mounted read-only. Changed struct ext2fs_sb to struct
Theodore Ts'oef9abe52001-01-01 15:31:53 +000063 ext2_super_block, and cleaned up old code which was needed
64 for old versions of ext2_fs.h (not needed since we're
65 using our own version now).
Theodore Ts'ob21e38a2001-01-01 15:26:58 +000066
Theodore Ts'o9a718842000-12-31 13:48:12 +0000672000-12-31 <tytso@snap.thunk.org>
68
Theodore Ts'od4cf2fc2000-12-31 14:09:38 +000069 * fsck.c (check_all): Call interpet_device to resolve LABEL= and
70 UUID= right away so that the device_already_active() logic
71 can do the right thing. Also cleaned up the the root
72 filesystem logic checking code; fixed up a logic bug with
73 the parallel_root option.
74
Theodore Ts'of10748d2000-12-31 13:55:14 +000075 * lsattr.1.in: Add pointer to chattr man page for definition of
76 the file attributes.
77
78 * lsattr.c (list_attributes): Minor cleanup to smooth out logic
79 flow. Also removed static initialized variables to zero.
80
Theodore Ts'o9a718842000-12-31 13:48:12 +000081 * chattr.c (decode_arg, get_flag): Use a table-driven method for
82 decoding the ext2 file flags character options. Add
83 support for the journaled data flag.
84
85 * chattr.1.in: Document the -j/+j/=j flag.
86
Theodore Ts'o16ad3332000-12-31 03:21:56 +0000872000-12-30 <tytso@snap.thunk.org>
88
89 * mke2fs.8.in: Minor clarity edit.
90
91 * mke2fs.c (usage): Document the -j option.
92 (main): Print the number blocks used in the journal.
93
Theodore Ts'ob9fd8c12000-12-29 03:10:45 +0000942000-12-28 <tytso@snap.thunk.org>
95
96 * base_device.c (base_device): Add support for DAC960 device
97 names.
98
99 * fsck.c (device_already_active): Handle the case where
100 base_device doesn't know how to interpret the device name,
101 instead of core dumping.
102
Theodore Ts'o74a74d22000-12-09 14:33:29 +00001032000-12-09 <tytso@snap.thunk.org>
104
Theodore Ts'od48755e2000-12-09 14:36:04 +0000105 * mke2fs.c (main, parse_journal_opts): Add support for creating V1
106 superblocks. We now pass in a journal_flags field to the
107 journal creation routines for this purpose.
108
109 * mke2fs.c: Remove zero initializers to save a few bytes from the
110 executable image. (Are we excited yet?)
111
Theodore Ts'o74a74d22000-12-09 14:33:29 +0000112 * findsuper.c: And non-subtle copyright licensing restriction to
113 get Yann to remove this program from the Debian package. :-)
114
Theodore Ts'o793e27d2000-12-03 06:33:56 +00001152000-12-03 <tytso@snap.thunk.org>
116
117 * fsck.c (device_already_active): Change to use new version of
118 base_device() which now returns dynamically allocated
119 memory.
120
121 * base_device.c (base_device): New version moved from fsck.c which
122 now understands ugly devfs names. (Debian bug #65181)
123
124 * base_device.tst: Test case for base_device.c
125
Theodore Ts'oe1c6b2f2000-12-02 06:19:33 +00001262000-12-02 <tytso@snap.thunk.org>
127
Theodore Ts'o2d091792000-12-02 07:03:32 +0000128 * fsck.8.in: Add clarification that filesystems with a fs_passno
129 of 0 are skipped with the -A option. (Debian wishlist/bug
130 #63442)
131
Theodore Ts'oe9f9dd82000-12-02 06:35:07 +0000132 * fsck.c (wait_one): When we let a new fsck take control of the
133 console to display the progress bar, set FLAG_PROGRESS to
134 so that fsck knows not to start new processes during an
135 fsck pass with the progress bar. (Should fix debian bug
136 #65267)
137
Theodore Ts'oe1c6b2f2000-12-02 06:19:33 +0000138 * tune2fs.8.in: Add clarifying statement about converting user and
139 group names to uid's before storing them in the
140 superblock. (Debian bug #67446)
141
Theodore Ts'o8ddaa662000-11-17 04:55:24 +00001422000-11-16 Theodore Ts'o <tytso@valinux.com>
143
144 * mke2fs.c(main): Expand the -j option so that it parses
145 option=argument style options, and add support for
146 creating filesystems with external journals.
147
148 * mke2fs.8.in: Document new syntax for the -j option.
149
Theodore Ts'o72ed1262000-11-12 19:32:20 +00001502000-11-05 <tytso@snap.thunk.org>
151
152 * e2image.c, Makefile.in: New program which saves ext2 metadata to
153 a file for people who need a last-ditch saving throw.
154
Theodore Ts'o85ef4ae2000-10-24 19:33:45 +00001552000-10-24 <tytso@snap.thunk.org>
156
Theodore Ts'of6f65832000-10-25 03:01:37 +0000157 * mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
158 handling a bit more sane. (Even though -s is deprecated
159 at this point.)
160
Theodore Ts'o0056be12000-10-25 02:24:33 +0000161 * get_device_by_label.c: Apply fix from Erik Troan to support 16
162 character labels.
163
Theodore Ts'o43819662000-10-25 02:06:09 +0000164 * fsck.c (device_already_active): Add a special case check for MD
165 devices, so we don't try to check them in parallel with
166 other devices.
167
Theodore Ts'o85ef4ae2000-10-24 19:33:45 +0000168 * mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
169 option, which builds an ext2/3 filesystem with an ext3
170 journal.
171
Theodore Ts'oe294cf22000-10-24 18:41:44 +00001722000-10-24 <tytso@valinux.com>
173
174 * mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
175 didn't catch.
176
Theodore Ts'o3f1e9a52000-09-12 21:21:52 +00001772000-09-12 <tytso@valinux.com>
178
179 * fsck.c: Add base device definitions for hd[e-h], for those
180 systems with four IDE interfaces.
181
Theodore Ts'od7e39b02000-09-11 17:01:35 +00001822000-09-11 <tytso@valinux.com>
183
184 * mke2fs.c (zap_sector): Fix error message printed when zap_sector
185 fails.
186
187 * dumpe2fs.c (list_desc): Fixed format string bug when printing
188 the inode table location in non-hex format.
189
Theodore Ts'o556ccbd2000-08-20 19:11:05 +00001902000-08-20 <tytso@valinux.com>
191
192 * get_device_by_label.c: Add call to ext2fs_find_block_device if
193 we can't find the device using the name given by
194 /proc/partitions. (This can happen if devfs is compiled
195 into the kernel, but not mounted.)
196
Theodore Ts'o80c22c92000-08-14 15:32:11 +00001972000-06-27 Andreas Dilger <adilger@turbolabs.com>
198
199 * dumpe2fs.c (usage): add fhx options to usage message, add -x option
200 to print out the per-group block numbers in hex, add line for
201 location of primary/backup superblock and group descriptors
202
203 * mke2fs.c: rename max to group_blk_max avoid potential macro conflict
204
Theodore Ts'oe41784e2000-08-14 14:44:15 +00002052000-08-14 <tytso@valinux.com>
206
207 * mke2fs.c (zap_sector): Change zap_bootsect to more general
208 zap_sect.
209 (main): Clear the superblock when starting mke2fs, to
210 avoid leaving the filesystem in an inconsistent state.
211
Theodore Ts'o28412de2000-07-27 02:45:55 +00002122000-07-26 <tytso@valinux.com>
213
214 * get_device_by_label.c: Improve /proc/partitions parsing in
215 fsck, and speed up fsck -a.
216
Theodore Ts'of9e67062000-07-13 23:25:54 +00002172000-07-13 <tytso@valinux.com>
218
219 * Release of E2fsprogs 1.19
220
Theodore Ts'oa551b782000-07-13 22:05:31 +00002212000-07-13 <tytso@snap.thunk.org>
222
223 * badblocks.8.in: Added text explaining that the -n and -w options
224 are mutually exclusive.
225
226 * badblocks.c (usage): Fix usage message to make it clear that the
227 block count must be specified if the starting block is to
228 be specified. (The starting block should be a option, in
229 the long run.)
230
231 * badblocks.c (test_nd): Save and restore the currently_testing
232 variable before going into the write verification loop.
233 This avoids a loop termination problem if the last block
234 on the disk is bad. Also, turn off the SIGALRM signal
235 while restoring blocks after the user types ^C. The
236 num_saved variable is now static so that it won't get
237 clobbered by a longjmp. buf_used and bb_count are no
238 longer static, since they aren't used by the cleanup
239 routines anymore.
240
241 * badblocks.c (main): Removed an unsued varaible (buf_size).
242 Fixed bad getopt argument that didn't allow the 'b' option
243 to take an argument. Added error checking when parsing
244 the starting block number. Fixed lint warning in fscanf
245 format string.
246
Theodore Ts'o35964b52000-07-06 13:19:43 +00002472000-07-06 Theodore Ts'o <tytso@valinux.com>
248
Theodore Ts'o19c68912000-07-07 03:25:13 +0000249 * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
250 fsck.ext2 (because they are the same) for the purposes of
251 the progress bar display logic.
252
Theodore Ts'o45d9e2f2000-07-07 03:12:54 +0000253 * tune2fs.8.in: Update manual page to document what happens if
254 max_mount_count is negative.
255
256 * tune2fs.c (main): Allow setting the maximal count value to be
257 negative, since the kernel interprets that as forcing a
258 check.
259
Theodore Ts'o5b1519b2000-07-06 14:16:08 +0000260 * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
261 for calling interpret_device(), since this requires root
262 privileges if the partitions need to be scanned.
263 Otherwise, it's not possible to do non-proot fsck's for
264 removeable devices such as floppies if there are any
265 LABEL= or UUID= entries in /etc/fstab.
266
Theodore Ts'o981dc562000-07-06 14:13:29 +0000267 * badblocks.c (check_mount, main): Check to see if the filesystem
268 is mounted before doing a read/write or non-destructive
269 test. This can be overriden using the new -f option.
270
Theodore Ts'o35964b52000-07-06 13:19:43 +0000271 * badblocks.8.in: Update manual page to reflect that the
272 blocks-count parameter is now optional. Also properly
Theodore Ts'o981dc562000-07-06 14:13:29 +0000273 document the start-block parameter. Added documentation
274 for the -f option.
Theodore Ts'o35964b52000-07-06 13:19:43 +0000275
276 * badblocks.c (main): Allow the blocks-count parameter to be
277 optional. If it's not specified, use the size of the
278 device as a default.
279
Theodore Ts'od49a22b2000-07-06 00:31:27 +00002802000-07-05 Theodore Ts'o <tytso@valinux.com>
281
282 * badblocks.c (test_nd): Significantly simplify the logic so that
283 it's more obviously what's going on. Fixed a few
284 potential cases which weren't handled correctly in the
285 old, overly complicated logic.
286 (flush_bufs): Now doesn't take a second argument, and
287 always forces a sync; this is required before it's really
288 safe to call BLKFLSBUF, at least for some kernels.
289
Theodore Ts'o26ab5312000-05-29 15:05:42 +00002902000-05-29 Theodore Ts'o <tytso@valinux.com>
291
292 * mke2fs.c (PRS): Add a much more specific error message if the
293 filesystem size is defaulted and get_device_size returns a
294 size of zero. Otherwise, users get a confusing "invalid
295 argument while passed to ext2 library" error message.
296
Theodore Ts'o4ea0a112000-05-08 13:33:17 +00002972000-05-08 Theodore Ts'o <tytso@valinux.com>
298
Theodore Ts'oc96e5112000-05-08 14:47:15 +0000299 * fsck.c (interpret_device): Add better error messages if a UUID=
300 or LABEL= specification is given.
301
Theodore Ts'o4ea0a112000-05-08 13:33:17 +0000302 * mke2fs.c (main): We forcibly turn off the filetype feature if
303 the OS is the hurd, since the hurd doesn't support it.
304 (And since the hurd allows the transmogrification of files
305 to special files and vice versa --- for no good reason
306 that I can understand --- it can't support the filetype
307 feature for the forseeable future, either.)
308
309 * mke2fs.c (proceed_question): Fix reversed sense of
310 proceed_question that was busted due to the
311 internationalization patch. Fixed bug where if
312 proceed_question was called twice, the input buffer wasn't
313 cleared of the previous question's newline.
314
Theodore Ts'oe2207ce2000-04-06 21:51:18 +0000315Thu Apr 6 17:50:25 2000 Theodore Y. Ts'o <tytso@signal.thunk.org>
316
317 * badblocks.c (flush_bufs): Use fsync() if the system doesn't
318 support fdatasync().
319
Theodore Ts'offe4cab2000-04-03 13:27:41 +00003202000-04-03 Theodore Ts'o <tytso@valinux.com>
321
Theodore Ts'o373b8332000-04-03 16:22:35 +0000322 * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
323 uuidgen.c: For platforms that don't define optarg.h,
324 manually define optarg and optind.
325
Theodore Ts'o4d003982000-04-03 16:01:11 +0000326 * badblocks.8.in: Updated manual page with suggestions from David
327 Beattie.
328
329 * badblocks.c (test_nd): Generalized cleanup and bug-fixes. We
330 now explicitly clear out the signal handlers to prevent a
331 longjmp to a deactivated stack frame.
332 (test_rw): Fixed a signed vs. unsigned comparison error.
333
Theodore Ts'offe4cab2000-04-03 13:27:41 +0000334 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
335 mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
336 address.
337 chattr.1.in: Update which attributes aren't supported.
338
Theodore Ts'oe1a0a3e2000-02-11 05:00:19 +00003392000-02-09 Theodore Ts'o <tytso@valinux.com>
340
341 * chattr.1.in:
342 * lsattr.1.in: Change "version" to "version/generation number".
343
344 * chattr.1.in: Fix stupid file vs filesystem typo.
345
346 * tune2fs.c Fix spelling error (spare vs sparse).
347
348 * mke2fs.c (PRS): Add safety check to make sure the number of
349 blocks doesn't exceed 32 bits on a 64 bit machine.
350
351 * chattr.c: Random cleanup; file-only variables are now static.
352 Options for setting/clearings flags put into order, and
353 #ifdef's removed (since we now use a built-in header
354 file). Add error message if user tries to set and reset
355 the same flag.
356
357 * lsattr.c: Random cleanup; file-only variables are now static.
358 The -l "long" listing has been changed to look nicer.
359 Options names have been renamed to be more descriptive.
360
Theodore Ts'odd018f52000-02-06 23:57:07 +00003612000-02-06 Theodore Ts'o <tytso@valinux.com>
362
Theodore Ts'od9c56d32000-02-08 00:47:55 +0000363 * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
364 fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c,
365 mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
366 uuidgen.c: Add Internationalization support as
367 suggested by Marco d'Itri <md@linux.it>.
368
Theodore Ts'odd018f52000-02-06 23:57:07 +0000369 * badblocks.c: Fix non-destructive read/write patches from David
370 Beattie. Non-standard variable-length automatic arrays
371 removed. Non-destrutive write test fixed so that logic is
372 clearer and more provably correct. (I believe the old
373 code had a bug where the disk data wasn't restored if it
374 was interrupted at the wrong time.)
375
376 * badblocks.8.in: Document new options in man page.
377
Theodore Ts'ob4ee1fb2000-02-02 19:08:51 +00003782000-02-02 Theodore Ts'o <tytso@valinux.com>
379
380 * fsck.c (interpret_device): If there was an attempt to interpret
381 a device specification of the type "UUID=" or "LABEL=",
382 and it fails, check to see if /proc/partitions is
383 readable. If not, print a warning message about /proc
384 perhaps not being mounted, and exit.
385
386 * mke2fs.c (check_plausibility): Remove unneeded #include of
387 linux/fs.h. Add #define of MAJOR if necessary.
388
389 * partinfo.c: Remove unneeded #include of linux/fs.h
390
Theodore Ts'o582134c2000-01-19 13:26:23 +00003912000-01-19 Theodore Ts'o <tytso@valinux.com>
392
393 * tune2fs.c (usage): Update the usage message to correctly
394 document the -s option.
395
Theodore Ts'o879ac922000-01-18 20:59:11 +00003962000-01-18 Theodore Ts'o <tytso@valinux.com>
397
398 * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.
399 Need to do cleanup before release: use of GCC extensions
400 (dynamic arrays); unclean coding tricks (use of || instead
401 of if statements, etc.). Comments from David Beattie:
402
403 "I added non-destructive write-testing, and quite a few
404 other features. The non-destructive write testing,
405 triggered by new "-n" command-line option, will write test
406 patterns to the disk, but only after reading data off the
407 disk into memory. Then, comparing the test patterns gives
408 a result as to whether or not those sectors are reliable.
409 Finally, the original data is written back.
410
411 To streamline this operation, I added another option, "-c
412 blocks_at_once", which will give the number of disk blocks
413 to process at one time (mnemonic--"count"). I made this
414 default to 16 (as in the read-only testing mode), and also
415 affect the read-only testing mode. Of course, read-only
416 mode needs (count * block_size) amount of memory, and
417 non-destructive read-write needs 3 times that much, so it
418 makes sense to do the calculations and not overrun
419 available RAM...I would have liked to implement and
420 auto-memory-usage heuristic, but I have no idea if it's
421 even possible to determine the amount of free memory on a
422 Unix system except by reading /proc entries, and that
423 didn't seem portable. I did NOT make this blocks_at_once
424 affect the behavior of the test_rw routine, as it is
425 processing the whole disk at once, anyway.
426
427 I *think* that I got higher detection rates on my hard
428 drive using random test data than patterned test data, so
429 my non-destructive mode initializes its test data buffer
430 randomly.
431
432 I fixed a typo in flush_bufs that caused the ioctl
433 BLKFLSBUF to never get compiled into the program.
434
435 Also, I added an "undocumented" (I didn't put it into the
436 usage message; you can if you think it's useful) "-h"
437 option to specify the host device to flush--useful if you
438 want to test out my "non-destructive" code on something
439 other than a hard drive, such as a file on a hard drive,
440 and want the host hard drive to flush.
441
442 I provided support for an "input" file (via option "-i",
443 similar to the "-o" option)...containing a list of
444 already-known bad blocks; it will skip testing those
445 blocks, thus adding speed to the bad block scan (on my
446 computer, hitting a physically bad block causes a
447 half-second-or-more freeze as the kernel waits for the
448 hard drive to give up and reset itself; pretty annoying
449 when you already know the block is bad from a previous
450 scan).
451
452 Finally, the real killer, the persistent re-scan (option:
453 "-p num_passes") that I created will, if desired,
454 persistently re-scan the drive until it has completed a
455 user-decidable number of passes in a row during which no
456 new bad blocks are found. On my drive, I would see
457 behavior that a certain percentage of bad blocks would be
458 found with each pass (it was not reliable in the defective
459 areas!), so I wanted it to check it over and over again
460 until it didn't find any more, several times. Perhaps
461 this will be useful to others. Defaults of course to
462 zero, meaning it will stop after the first pass. I used
463 "-p 2" on my drive, and it ran for 2 1/2 days...then used
464 "-p 3" a couple days later and it ran for a few more
465 hours, and since then the rest of my drive has been
466 completely reliable.
467
468 Implementation of these last two features, "-i" and "-p",
469 I did using a bb_list from libext2fs. I debated whether
470 bad blocks input through "-i" should be output into the
471 "-o" file (or stdout, of course), and decided against it,
472 but left the code to do so in place, commented out, just
473 for your information.
474
475 In order to maintain data integrity upon interruption of a
476 non-destructive-write test, I created a signal handler
477 which I install which will write back whatever original
478 disk data is in the buffers upon any of the fatal signals
479 (except SIGKILL, of course).
480
481 Of course, ideally, the new options would be reflected in
482 the badblocks manual page, but I am not experienced at
483 manual page modification; if you decide my patch to
484 badblocks should be incorporated into the distribution, I
485 could learn how to update the manpage and other
486 documentation, or you could do it for me after exercising
487 your opinions, if you have any, on exactly what the
488 command-line parameters should be called and which ones
489 should be in the distribution."
490
Theodore Ts'o3cb77842000-01-18 16:30:27 +00004912000-01-07 Theodore Ts'o <tytso@valinux.com>
492
493 * Really fix the bug where "fsck -As" will actually allow
494 interactive fsck's. (For those people who like to do
495 interactive fsck's in the /etc/rc scripts!?!)
496
Theodore Ts'obfd21931999-11-23 13:48:58 +00004971999-11-23 <tytso@valinux.com>
498
499 * tune2fs.8.in: Fix man page so that the sparse_super filesystem
500 option is properly named.
501
Theodore Ts'o6733c2f1999-11-23 02:23:30 +00005021999-11-22 <tytso@valinux.com>
503
504 * mke2fs.c: Change log2() and log10() to int_log2() and
505 int_log10() to avoid namespace collisions. Change #ifdef
506 sparc to #ifdef __sparc__.
507
Theodore Ts'o5c36a2f1999-11-19 18:42:30 +00005081999-11-19 <tytso@valinux.com>
509
510 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
511 the source directory.
512
Theodore Ts'o6fdc7a31999-11-10 13:34:40 +00005131999-11-10 <tytso@valinux.com>
514
Theodore Ts'ocd086361999-11-10 16:00:39 +0000515 * Release of E2fsprogs 1.18
516
5171999-11-10 <tytso@valinux.com>
518
Theodore Ts'o6fdc7a31999-11-10 13:34:40 +0000519 * mke2fs.8.in: Update manual page so that the sparse_option
520 filesystem option is properly named.
521
Theodore Ts'o6a35ffa1999-11-04 22:34:43 +00005221999-11-04 <tytso@valinux.com>
523
524 * fsck.c (main): Move setting of the interactive flag to before
525 the call to check_all(), so that people who try to use
526 fsck -As can do so interactively.
527
Theodore Ts'o36caf251999-10-26 14:29:22 +00005281999-10-26 <tytso@valinux.com>
529
Theodore Ts'o28e11941999-10-26 18:17:20 +0000530 * Release of E2fsprogs 1.17
531
5321999-10-26 <tytso@valinux.com>
533
Theodore Ts'o3bc03661999-10-26 17:17:00 +0000534 * fsck.c (PRS, device_already_active): Add debugging hook; if the
535 environment variable FSCK_FORCE_ALL_PARALLEL is set, then
536 force all fsck runs to happen in parallel.
537
Theodore Ts'o36b01301999-10-26 14:38:36 +0000538 * get_device_by_label.c (has_right_label): Fixed bug where code
539 used a strncmp to compare a binary UUID value which may
540 contain a NULL. Fixed GCC warnings; added const to char *
541 typed variables. Eliminated non-portable use of u_char.
542
Theodore Ts'o4a600561999-10-26 14:35:51 +0000543 * mke2fs.c (PRS): Fix gcc warnings; add const to some char *
Theodore Ts'o9094f281999-10-26 16:42:50 +0000544 variables, including in struct mke2fs_defaults.
545 (set_fs_defaults): Changed parameter name to avoid
546 gcc warnings.
Theodore Ts'o4a600561999-10-26 14:35:51 +0000547
Theodore Ts'ob5135711999-10-26 14:33:24 +0000548 * fsck.c (wait_one): Fix gcc warnings; add #include for ctype.h,
549 add const to char * variables, and use NOARGS to declare
550 functions that take no arguments. Also fix a memory leak
551 in execute() where we weren't freeing argv[] after forking
552 the child process.
553
Theodore Ts'o36caf251999-10-26 14:29:22 +0000554 * chattr.c: Add hack to compile in a definition for S_ISLNK so we
555 can successfully compile even with warnings turned on.
556
Theodore Ts'oad6783d1999-10-26 01:58:54 +00005571999-10-25 <tytso@valinux.com>
558
559 * mke2fs.c (show_stats): Capitalized Hurd to make the GNU types
560 happy.
Theodore Ts'oe6597041999-10-26 02:30:16 +0000561 (PRS): Use __u64 instead of long long for portability
562 reasons. Also moved #include of sys/stat.h inside #ifdef
563 HAVE_LINUX_MAJOR_H for portability reasons.
Theodore Ts'oad6783d1999-10-26 01:58:54 +0000564
565 * fsck.c (execute): Fix really stupid bug in the linked list
566 management which caused fsck in parallel mode to go into
567 an infinite loop.
568
Theodore Ts'o896938d1999-10-23 01:04:50 +00005691999-10-22 <tytso@valinux.com>
570
Theodore Ts'o614fdfd1999-10-23 03:19:51 +0000571 * Release of E2fsprogs 1.16
572
5731999-10-22 <tytso@valinux.com>
574
Theodore Ts'o896938d1999-10-23 01:04:50 +0000575 * tune2fs.c (main): Add a new option -O which allows the user to
576 set and clear certain "safe" filsystem feature flags.
577 Currently, the only ones which are supported for
578 modification are sparse_superblock and filetype.
579
580 * mke2fs.c (PRS): Add new option -O which allows the user to
581 request filesystems with specific filesystem options. By
582 default on 2.2 and later systems, create filesystems that
583 have both file type information and sparse superblocks.
584
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +00005851999-10-21 <tytso@valinux.com>
586
587 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, e2label.8.in,
588 fsck.8.in, lsattr.1.in, mke2fs.8.in, mklost+found.8.in,
589 tune2fs.8.in, uuidgen.1.in: Update man page to use a more standard
590 format (bold option flags and italicized variables), as
591 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
592
Theodore Ts'o7f4bb6c1999-10-20 18:11:01 +00005931999-10-14 <tytso@valinux.com>
594
Theodore Ts'o671cbfa1999-10-20 18:14:23 +0000595 * tune2fs.c (main): Fix typo (double spaces) in messages regarding
596 changing the sparse superblock option
597
Theodore Ts'o7f4bb6c1999-10-20 18:11:01 +0000598 * fsck.c (wait_one): If the fsck process just started, wait a
599 second before sending a SIGUSR1, to give it a chance
600 to set the signal handler; otherwise, fsck will die on an
601 unhandled SIGUSR1.
602
6031999-09-15 <tytso@valinux.com>
Theodore Ts'o76714331999-10-20 18:06:29 +0000604
605 * mke2fs.c (show_stats): Fix display bug when printing out the
606 number of superblocks. Suggested by Yann Dirson.
607
Theodore Ts'o27401561999-09-14 20:11:19 +00006081999-09-08 <tytso@valinux.com>
609
610 * partinfo.c: Fix minor compilation bugs pointed out by Yann
611 Dirson.
612
613 * mke2fs.c: Don't turn on sparse superblocks by default on pre-2.2
614 kernels.
615
616 * mke2fs.8.in: Add the possible valid block sizes for mke2fs.
617 Document the -n flag, and the new defaults for the -s
618 flag.
619
620 * dumpe2fs.c, dumpe2fs.8.in: Add new options -f (force) and -h
621 (header-only).
622
6231999-08-13 <tytso@valinux.com>
624
625 * mke2fs.c (PRS): Fix logic for turning on/off the sparse
626 superblock option.
627
6281999-07-18 Theodore Ts'o <tytso@valinux.com>
Theodore Ts'o657cb971999-07-30 23:19:10 +0000629
630 * Release of E2fsprogs 1.15
631
Theodore Ts'o50787ea1999-07-19 15:30:21 +00006321999-07-18 <tytso@rsts-11.mit.edu>
633
634 * mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows
635 the user to specify the how the filesystem is to be used.
636 Mke2fs now chooses the filesystem parameters automatically
637 based on the size of the filesystem and the intended use
638 of the filesystem. Add new option -n which simply goes
639 through the calculations to determine the parameters of
640 the filesystem the system would make.
641
6421999-07-18 <tytso@valinux.com>
643
644 * fsck.c, fsck.h: Add support for new option -C. This option will
645 automatically manage e2fsck processes so that they will
646 print completion/progress bars. If multiple filesystems
647 are being checked, arrange to make sure that only one
648 e2fsck process is displaying a progress bar at a time.
649
6501999-07-08 <tytso@valinux.com>
Theodore Ts'o9f10a7b1999-07-16 10:41:36 +0000651
652 * badblocks.c (do_test): Don't complain if the write error occurs
653 on a non-block boundary. This is perfectly common when
654 using blocksizes larger than 1k.
655
Theodore Ts'oc54b3c31999-07-03 07:20:06 +00006561999-07-03 <tytso@valinux.com>
Theodore Ts'o5dbb0721999-07-03 06:16:06 +0000657
658 * uuidgen.c: Add option parsing so that user can ask for either a
659 time-based UUID or a random-based UUID.
660
Theodore Ts'oc54b3c31999-07-03 07:20:06 +00006611999-07-02 <tytso@valinux.com>
Theodore Ts'o2d8defd1999-07-03 01:59:42 +0000662
663 * fsck.c: Added support for LABEL= and UUID= specifications for
664 the filesystem's device, to match what recent mount
665 programs can support. Also, close stdin when doing fsck
666 -A or when checking more than one filesystem at a time, so
667 that e2fsck doesn't try to ask interactive questions if
668 the filesystem appears to be mounted.
669
670 * get_device_by_label.c: New file added to support LABEL=foo and
671 UUID=bar type specifications.
672
Theodore Ts'o00eedba1999-07-03 00:45:58 +00006731999-07-01 <tytso@valinux.com>
674
675 * badblocks.c: Make the "done" string include enough spaces to
676 clear out a large block number.
677
Theodore Ts'oca3c3281999-06-29 14:37:35 +00006781999-06-29 <tytso@valinux.com>
679
680 * mke2fs.c (check_mount): Allow a filesystem to be made even if it
681 appears mounted if the force option is given.
682
Theodore Ts'oe72a9ba1999-06-25 15:40:18 +00006831999-06-24 <tytso@valinux.com>
684
685 * mke2fs.8.in: Fix typo in man page which caused the badblocks
686 command to not show up in the "SEE ALSO" section.
687
Theodore Ts'oe2423cc1999-06-18 00:51:31 +00006881999-05-02 <tytso@rsts-11.mit.edu>
689
690 * findsuper.c: Added documentation from aeb@cwi.nl; some minor
691 code cleanups.
692
Theodore Ts'o02e7dd91999-06-18 00:48:41 +00006931999-05-20 <tytso@rsts-11.mit.edu>
694
695 * dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which
696 allow a filesystem expert to specify the superblock and
697 blocksize when opening a filesystem. This is mainly
698 useful when examining the remains of a toasted filesystem.
699
Theodore Ts'o5d45d801999-03-16 19:35:19 +00007001999-03-11 Andreas Dilger <adilger@enel.ucalgary.ca>
701
702 * uuidgen.c, uuidgen.1.in: Created command-line utility to
703 generate UUIDs.
704
7051999-03-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
706
707 * fsck.c (fsck_device, execute): Don't dereference a null pointer
708 when checking a filesystem not in /etc/fstab.
709
Theodore Ts'o7d5633c1999-02-09 08:14:28 +00007101999-02-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
711
712 * fsck.c (fsck_device): Print an error message if the user passes
713 in a device or directory name which isn't found in /etc/fstab.
714 Allow the location of /etc/fstab to be overridden by
715 the FSTAB_FILE environment variable.
716
7171999-01-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
718
719 * mke2fs.c (write_inode_tables): Add kludge code so that when the
720 MKE2FS_SYNC environment variable is set, mke2fs will sync
721 every MKE2FS_SYNC block groups, while it is writing out
722 the inode tables. This is to work around a VM bug in the
723 2.0 kernel. I've heard a report that a RAID user was able
724 to trigger it even using a 2.2 kernel.
725
Theodore Ts'oee922991999-01-16 05:39:12 +00007261999-01-16 Theodore Ts'o <tytso@rsts-11.mit.edu>
727
728 * fsck.c (execute, wait_one): Modified routines so that they
729 accurately create an fsck_instance even when the noexecute
730 flag is set. This allows for accurate debugging of the
731 fsck pass structure.
732 (check_all): When the verbose flag is given twice, print
733 debugging information about when fsck is waiting for jobs
734 to finish.
735
Theodore Ts'o7953f611999-01-09 05:03:52 +00007361999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
737
Theodore Ts'o9e51eca1999-01-09 16:32:31 +0000738 * Release of E2fsprogs 1.14
739
7401999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
741
Theodore Ts'o7953f611999-01-09 05:03:52 +0000742 * fsck.8.in: Clarified and expanded the documentation for the -A
743 switch.
744
Theodore Ts'o665f7101999-01-08 13:33:39 +00007451999-01-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
746
747 * fsck.c (load_fs_info): If the pass number field is missing, it
748 needs to be treated as zero.
749
Theodore Ts'oa88fa0c1999-01-05 07:02:39 +00007501999-01-05 Theodore Ts'o <tytso@rsts-11.mit.edu>
751
Theodore Ts'o5515e6b1999-01-05 07:25:06 +0000752 * mke2fs.c (PRS): Allow the user to specify exactly how many
753 inodes he/she wishes.
754
Theodore Ts'oa88fa0c1999-01-05 07:02:39 +0000755 * chattr.c, lsattr.c: Only print the version information for the
756 program if the -V option is given.
757
758 * chattr.c: Ignore symbolic links when doing a recursive descent
759 through a directory.
760
Theodore Ts'o93ab9d71999-01-02 04:04:42 +00007611999-01-01 Theodore Ts'o <tytso@rsts-11.mit.edu>
762
763 * fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines
764 are commented out. Also allow blank lines in the
765 /etc/fstab file.
766 (execute): In verbose mode, print the mountpount of the
767 filesystem which we are checking (user request).
768
7691998-12-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
770
771 * mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
772 compatibility with Linux 1.2.13 header files.
773
Theodore Ts'o556ad131998-12-19 08:10:58 +00007741998-12-15 Theodore Ts'o <tytso@rsts-11.mit.edu>
775
776 * Release of E2fsprogs 1.13
777
Theodore Ts'ocb620171998-12-08 02:21:29 +00007781998-12-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
779
780 * mke2fs.8.in: Fixed stupid typo ("Raid options are _comma_
781 seperated", instead of common separated)
782
Theodore Ts'o5a679c81998-12-03 16:40:38 +00007831998-12-03 Theodore Ts'o <tytso@rsts-11.mit.edu>
784
785 * Makefile.in: Updated dependencies.
786
7871998-11-27 Theodore Ts'o <tytso@rsts-11.mit.edu>
788
789 * fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of
790 relying on getmntent(). This has the advantage of
791 allowing us to properly handle missing pass numbers correctly.
792
Theodore Ts'o1dde43f1998-11-14 04:18:28 +00007931998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
794
795 * tune2fs.8.in: Fix minor display bug in the nroff.
796
797 * mke2fs.c (show_stats, write_inode_tables): Use the log10
798 function to calculate the display of block numbers so that
799 things look nice on an 80 character display.
800
8011998-10-12 Theodore Ts'o <tytso@rsts-11.mit.edu>
802
803 * mke2fs.c (usage): Add the sparse-super-flag to the usage
804 message.
805
Theodore Ts'o4a5fa191998-07-09 05:42:45 +00008061998-07-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
807
808 * Release of E2fsprogs 1.12
809
Theodore Ts'oeb5ab741998-07-04 17:47:52 +00008101998-07-04 Theodore Ts'o <tytso@rsts-11.mit.edu>
811
812 * findsuper.c (main): Print the block group number which is now
813 being written by e2fsprogs.
814
Theodore Ts'o818180c1998-06-27 05:11:14 +00008151998-06-25 Theodore Ts'o <tytso@rsts-11.mit.edu>
816
817 * fsck.c (ignore): Remove unused variable cp.
818
819 * chattr.c (fatal_error):
820 * tune2fs.c (usage):
821 * lsattr.c (usage):
822 * dumpe2fs.c (usage):
823 * badblocks.c (usage): Remove volatile from declaration.
824
825 * fsck.c: Change use of strdup to be string_copy, since we don't
826 trust what glibc is doing with strdup. (Whatever it is,
827 it isn't pretty.)
828
8291998-06-19 Theodore Ts'o <tytso@rsts-11.mit.edu>
830
831 * mke2fs.c (PRS): Add a -V option which prints the version number
832 and exit.
833
Theodore Ts'o4bf5fbf1998-05-14 22:43:10 +00008341998-05-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
835
836 * fsck.c (ignore): Remove check for filesystems with the noauto
837 option.
838
Theodore Ts'o7e44f241998-04-01 03:16:29 +00008391998-03-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
840
841 * Makefile.in: Change to use new installation directory variables
842 convention. Fix uninstall rules to take $(DESTDIR) into
843 account. Remove cat8dir and cat1dir from the installdirs
844 target, since modern man package don't necessarily put the
845 cat directory in /usr/man/cat?.
846
Theodore Ts'oa789d841998-03-30 01:20:55 +00008471998-03-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
848
Theodore Ts'o3b27db91998-03-30 01:32:10 +0000849 * e2label.8.in: New man page to document the e2label function.
850
Theodore Ts'oa789d841998-03-30 01:20:55 +0000851 * e2label.c: Fix -Wall warning by making functions static.
852
8531998-03-28 Theodore Ts'o <tytso@rsts-11.mit.edu>
854
855 * chattr.1.in: Document that the append-only attribute may
856 only be set or cleared by the superuser.
857
858 * Update all manual pages to that the availability section is
859 up-to-date.
860
861 * e2label.8.in, tune2fs.8.in: Update manual page to state that
862 labels must be no longer than 16 characters, or they will
863 be truncated.
864
865 * e2label.c (change_label), tune2fs.c (main): If the label is
866 longer than 16 characters, print a warning message stating
867 that the label will be truncated.
868
869 * mke2fs.c (PRS): If the user specifies a filesystem size, and
870 it's larger than the apparent size of the device, print a
871 warning message and ask if the user wants to proceed.
872
Theodore Ts'obbfa3aa1998-03-21 07:12:46 +00008731998-03-21 Theodore Ts'o <tytso@rsts-11.mit.edu>
874
875 * mke2fs.c (check_plausibility): Fixed spelling typo in warning
876 message. Fixed up -Wall warnings in file.
877
Theodore Ts'oe9271681998-03-09 03:23:51 +0000878Sun Mar 8 22:21:48 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
879
880 * partinfo.c (main): The ioctl BLKGETSIZE requires a long, not an
881 int.
882
Theodore Ts'o92bcc591998-02-16 22:29:34 +0000883Sun Feb 1 16:53:36 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
884
885 * badblocks.8: Update documentation to note that output format
886 of badblocks is suitable for use with e2fsck -l or
887 mke2fs -l.
888
889 * mke2fs.c (handle_bad_blocks): Fix bug so that all groups with
890 bad superblock backup blocks are printed (not just the
891 first one).
892
Theodore Ts'oca8abba1998-01-19 14:55:24 +0000893Mon Dec 1 17:01:04 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
894
895 * badblocks.8.in: Add documentation for the -s option.
896
Theodore Ts'o519149f1997-10-25 03:49:49 +0000897Fri Oct 24 23:37:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
898
899 * fsck.c:
900 * chattr.c: Remove #include of getopt.h, since it's not needed.
901
902 * tune2fs.c (main):
903 * lsattr.c (main):
904 * badblocks.c (main):
905 * dumpe2fs.c (main):
906 * mke2fs.c (PRS): Make the variable which getopt returns into be
907 an int, so that it won't lose on platforms where char is
908 unsigned.
909
Theodore Ts'od163b091997-10-03 17:42:28 +0000910Fri Oct 3 13:38:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
911
912 * mke2fs.c (parse_raid_opts): Make parse_raid_opts return a void,
913 to fix a -Wall warning.
914
Theodore Ts'o00e54331997-09-16 02:13:52 +0000915Mon Sep 15 22:07:12 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
916
917 * tune2fs.c (main):
918 * mklost+found.c (main):
919 * lsattr.c (main):
920 * dumpe2fs.c (main):
921 * chattr.c (main):
922 * badblocks.c (main): Declare main to return an int, as required.
923 Make sure main always ends with an exit(0). (Some
924 programs weren't doing this, and thus were returning a
925 random exit value.)
926
Theodore Ts'oab6b8ab1997-07-14 19:28:55 +0000927Mon Jul 14 15:27:29 1997 Theodore Y. Ts'o <tytso@mit.edu>
928
929 * e2label.c: New file contributed by Andries Brouwer which
930 provides an easy-to-use interface to modify the filesystem
931 label.
932
933 * Makefile.in (SPROGS): Add Makefile support to build e2label
934
Theodore Ts'o024996c1997-06-17 05:38:35 +0000935Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
936
937 * Release of E2fsprogs 1.11
938
Theodore Ts'oe22d4611997-06-17 03:57:27 +0000939Mon Jun 16 23:37:54 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
940
941 * mke2fs.c (show_stats): Adjust the number of columns printed when
942 displaying the superblock backups to avoid running over
943 80 columns when making a really big disk.
944
Theodore Ts'of635d7f1997-05-09 02:50:16 +0000945Thu May 8 22:22:08 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
946
Theodore Ts'o583ccdc1997-05-09 03:06:31 +0000947 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, fsck.8.in,
948 mke2fs.8.in, tune2fs.8.in: Fix minor typos and grammer
949 oops found by Bill Hawes (whawes@star.net).
950
Theodore Ts'of635d7f1997-05-09 02:50:16 +0000951 * mke2fs.c (test_disk): Pass the blocksize to the bad blocks
952 command so that all of the filesystem gets tested in the
953 case where the blocksize 2048 or 4096.
954
Theodore Ts'oa29f4d31997-04-29 21:26:48 +0000955Thu Apr 24 12:16:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
956
957 * Release of E2fsprogs version 1.10
958
959Thu Apr 24 09:52:47 1997 Theodre Ts'o <tytso@localhost.mit.edu>
960
961 * mke2fs.c: Added new option -R, which specifies RAID options.
962 Currently the only supported RAID option is "stride" which
963 specifies the stripe width in RAID filesystem. This is
964 used to aid in the placement of the inode and block
965 bitmaps.
966
967 * mke2fs.8.in, tune2fs.8.in: Added warnings that the sparse
968 superblock option isn't yet supported by most kernels.
969
970Wed Apr 23 22:42:51 1997 Theodre Ts'o <tytso@localhost.mit.edu>
971
972 * mke2fs.c (PRS): Make the default filesystem revision be 0, not
973 1. (Since some people are still worried about 1.2.13
974 compatibility).
975
976Thu Apr 17 12:23:38 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
977
978 * Release of E2fsprogs version 1.09
979
Theodore Ts'o2ecc6fe1997-04-29 17:57:00 +0000980Fri Apr 11 18:57:24 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
981
982 * chattr.1.in: Updated man page so that the 'A' attribute is
983 specified everywhere.
984
985 * chattr.c (usage): Added usage message for the 'A' attribute.
986
987Fri Apr 11 18:56:26 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
988
989 * Release of E2fsprogs version 1.08
990
Theodore Ts'o521e3681997-04-29 17:48:10 +0000991Thu Apr 10 07:08:03 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
992
993 * dumpe2fs.c (list_desc): List the offsets of the inode and block
994 bitmaps, and the inode table. List the block boundaries
995 for the groups.
996
997Sat Apr 5 11:55:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
998
999 * tune2fs.c (main): Implement the -s flag allows the user to
1000 set and reset the sparse superblock flag.
1001
1002 * mke2fs.c (PRS): By default generate DYNAMIC revision
1003 filesystems. The -s flag controls whether or not the
1004 sparse superblock flag is set.
1005 (PRS): Change to allow the user to specify the true
1006 maximum number of blocks per group to reflect the
1007 blocksize.
1008
Theodore Ts'o19c78dc1997-04-29 16:17:09 +00001009Wed Mar 12 13:32:05 1997 Theodore Y. Ts'o <tytso@mit.edu>
1010
1011 * Release of E2fsprogs version 1.07
1012
1013Thu Mar 6 17:15:05 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1014
1015 * mke2fs.c (create_root_dir): Set the root directory's i_uid and
1016 i_gid to be the real user and group id.
1017
1018Tue Mar 4 10:14:33 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1019
1020 * mke2fs.c (check_plausibility): Add more intelligent error
1021 messages when the device doesn't exist.
1022
1023Sat Mar 1 10:43:32 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1024
1025 * fsck.c (main): Fix bug where the PATH environment variable isn't
1026 set when it is unset.
1027
1028Tue Jan 14 12:30:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1029
1030 * mke2fs.c (write_inode_tables): Fixed bug in write_inode_tables
1031 where a loop variable was getting reused in a nested loop.
1032 This caused the inode table to not be correctly
1033 initialized.
1034
1035Thu Jan 2 00:00:37 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1036
1037 * lsattr.c, chattr.c: Include string.h, since we use memcpy().
1038
1039 * findsuper.c: Use time_t for ctime(), not __u32.
1040
1041Sat Dec 28 23:39:18 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1042
1043 * badblocks.c: Adapted -vv modifications from Rik Faith so that
1044 they frequently update the block number field.
1045
1046 * badblocks.8.in: Document the optional start-block parameter
1047
1048Mon Oct 14 11:52:58 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1049
1050 * mke2fs.c: Updated to use new ext2fs_allocate_tables() function.
1051
1052Tue Oct 8 02:02:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1053
1054 * Release of E2fsprogs version 1.06
1055
Theodore Ts'o5c576471997-04-29 15:29:49 +00001056Mon Oct 7 00:56:24 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1057
1058 * chattr.1.in: Documented the 'A' (noatime) attribute.
1059
1060 * dumpe2fs.c (main): Change EXT2_SWAP to EXT2_FLAG_SWAP for
1061 consistency's sake.
1062
1063Sun Sep 22 16:18:47 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1064
1065 * chattr.c (decode_arg): Add support for the 'A' (noatime) flag.
1066
1067Thu Sep 12 15:23:07 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1068
1069 * Release of E2fsprogs version 1.05
1070
Theodore Ts'o1e3472c1997-04-29 14:53:37 +00001071Sat Sep 7 07:34:11 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1072
1073 * tune2fs.c (main): Add support for new option -C, which sets the
1074 current number of mounts.
1075 (main): Allow the interval to be specified in seconds,
1076 mostly for debugging.
1077
1078Tue Aug 27 17:27:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
1079
1080 * Makefile.in (SMANPAGES): Use @FSCK_MAN@ instead of fsck.8.
1081 (SPROGS): Use @FSCK_PROG@ instead of fsck.
1082
1083Thu Aug 22 00:51:44 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1084
1085 * mke2fs.c (zap_bootblock): Don't do zap_bootblock on a
1086 sparc.
1087
1088Tue Aug 20 00:15:46 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1089
1090 * chattr.c (main): Fixed bug so that chattr -v works. (Bug report
1091 and fix sent by Charles Howes, chowes@eznet.ca)
1092
1093Fri Aug 9 11:52:42 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1094
1095 * tune2fs.8.in:
1096 * tune2fs.c: Added support for the -L option which sets the volume
1097 label, the -M option which sets the last mounted
1098 directory, and the -U option which sets the filesystem UUID.
1099
1100 * mke2fs.8.in:
1101 * mke2fs.c: Added support for the -o option, which overrides the
1102 creator OS. Generate a UUID for the filesystem, if
1103 applicable. Added support for the -L option which sets
1104 the volume label, and the -M option which sets the last
1105 mounted directory.
1106
1107Sat Jun 22 17:43:17 1996 Remy Card <card@bbj.linux.eu.org>
1108
1109 * chattr.c (decode_arg): Integrated Michael Nonweiler's fix to
1110 avoid a segmentation fault when the "-v" option is used
1111 and no version number is specified.
1112
Theodore Ts'o62c06f71997-04-29 14:34:47 +00001113Thu May 16 11:12:30 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1114
1115 * Release of E2fsprogs version 1.04
1116
1117Wed May 15 21:15:43 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1118
1119 * Makefile.in (fsck): fsck doesn't need to be linked with the ext2
1120 libraries.
1121
Theodore Ts'o7f88b041997-04-26 14:48:50 +00001122Wed Mar 27 00:33:40 1996 <tytso@rsts-11.mit.edu>
1123
1124 * Release of E2fsprogs version 1.03
1125
1126Thu Mar 7 03:43:20 1996 <tytso@rsts-11.mit.edu>
1127
1128 * mke2fs.c (PRS): Add (for development only) support to
1129 specify revision and inode size of the new filesystem.
1130
1131Tue Mar 5 03:51:35 1996 <tytso@rsts-11.mit.edu>
1132
1133 * mke2fs.8.in: Fix a few minor typo's in the man page.
1134
1135 * mke2fs.c (reserve_inodes): Add support for dynamic first inode
1136 revision.
1137
1138Mon Feb 5 22:19:49 1996 <tytso@rsts-11.mit.edu>
1139
1140 * fsck.c (check_all, PRS): Added new flag -P, which turns on the
1141 parallel root option. This allows you to check the root
1142 filesystem in parallel with the other filesystems. Note
1143 that this is not the safest thing in the world to do,
1144 since if the root filesystem is in doubt things like
1145 the e2fsck executable might be corrupted! But some
1146 sysadmins, who don't want to repartition the root
1147 filesystem to be small and compact, may really want this
1148 option turned on.
1149
Theodore Ts'o74becf31997-04-26 14:37:06 +00001150Wed Jan 31 11:06:08 1996 <tytso@rsts-11.mit.edu>
1151
1152 * Release of E2fsprogs version 1.02
1153
1154Tue Oct 30 21:14:12 1995 <tytso@rsts-11.mit.edu>
1155
1156 * mke2fs.c (check_plausibility): Add check to warn user if they
1157 are trying to mke2fs the whole disk. (/dev/hda
1158 vs. /dev/hda1)
1159
1160Fri Dec 15 19:09:56 1995 <tytso@rsts-11.mit.edu>
1161
1162 * fsck.c (check_all): If we break out of the loop because we are
1163 serializing and have just started at fsck we haven't
1164 finished the pass. We need to go round again in case there
1165 are more filesystems to be done in this pass. (Patch
1166 submitted by Mike Jagdis)
1167
1168Sat Dec 9 10:07:16 1995 <tytso@rsts-11.mit.edu>
1169
1170 * dumpe2fs.c (in_use): test_bit() was renamed to
1171 ext2fs_test_bit().
1172
Theodore Ts'o297f47a1997-04-26 14:25:20 +00001173Mon Oct 30 20:21:18 1995 <tytso@rsts-11.mit.edu>
1174
1175 * fsck.c (fsck_device): Check fstype instead of type; this was a
1176 stupid typo which caused coredumps in some cases.
1177
Theodore Ts'oa418d3a1997-04-26 14:00:26 +00001178Thu Oct 26 12:05:18 1995 <tytso@rsts-11.mit.edu>
1179
1180 * Makefile.in (install): Strip programs when they are installed.
1181
1182Fri Aug 18 15:10:40 1995 Theodore Y. Ts'o <tytso@dcl>
1183
1184 * mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
1185 so we do the check to see if the filesystem is mounted
1186 *before* we try to determine the size of the device.
1187
1188Wed Sep 6 23:34:07 1995 Remy Card <card@bbj>
1189
1190 * fsck.c (load_fs_info): Load the informations from /etc/fstab in
1191 the same order.
1192
1193Thu Aug 17 22:33:09 1995 <tytso@rsts-11.mit.edu>
1194
1195 * mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
1196 function to determine if the device is mounted.
1197
1198 * mke2fs.c (PRS): Change call to use the new
1199 ext2fs_get_device_size() function in order to determine
1200 the size of the filesystem. Remove get_size() and
1201 is_valid_offset(), which are no longer called.
1202
1203Fri Aug 11 08:26:24 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1204
1205 * fsck.c (fsck_device): Make sure fstype has been set by the user
1206 and that it does not begin with "no" and the user has
1207 specified exactly one type before using it as the type to
1208 check.
1209
1210Fri Aug 11 14:17:18 1995 Remy Card <card@bbj>
1211
1212 * badblocks.8:
1213 * chattr.1:
1214 * dumpe2fs.8:
1215 * fsck.8:
1216 * lsattr.1:
1217 * mke2fs.8:
1218 * mklost+found.8:
1219 * tune2fs.8: Updated date and version number.
1220
1221Thu Aug 10 14:18:36 1995 Remy Card <card@bbj>
1222
1223 * tune2fs.c: Fixed a bug which prevented the use of user and group
1224 names with the -g and -u options. Thanks to Jean Christophe
1225 ANDRE <progfou@mycrob.cafard.freenix.fr>.
1226
1227 * mke2fs.8:
1228 * tune2fs.8: Fixed a spelling error in Ted's name :-)
1229
1230Wed Aug 9 20:41:54 1995 Theodore Y. Ts'o <tytso@dcl>
1231
1232 * mke2fs.c (count_blocks): Divide the size by
1233 EXT2_BLOCK_SIZE(&param), instead of assuming that the
1234 blocksize is always 1024 bytes.
1235
1236Sat Aug 5 12:00:51 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1237
1238 * mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
1239 not portable!! In any case putenv() in some systems must
1240 take a static character array or malloc()'ed memory;
1241 passing memory allocated using alloca() to putenv() is not
1242 advisable.
1243
1244 * chattr.c (chattr_dir_proc):
1245 * lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
1246 alloca is not portable!
1247
1248 * fsck.c (fsck_device): If the filesystem type is specified by the
1249 user using the -t option, let it override the type in
1250 /etc/fstab.
1251
1252 * fsck.c (strdup): Don't build strdup() if the system defines it.
1253
1254Mon Jun 12 19:15:10 1995 Theodore Y. Ts'o (tytso@dcl)
1255
1256 * chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
1257 benefit.
1258
1259 * The $(UPROGS) go in bin, not sbin.
1260
1261 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1262 tune2fs.c: Don't include <getopt.h> if it doesn't exist.
1263
1264Mon Jun 12 16:36:04 1995 Theodore Y. Ts'o <tytso@dcl>
1265
1266 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1267 tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
1268
1269Sat Jun 10 23:37:09 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1270
1271 * chattr.c: Include errno.h, since we use errno
1272
1273 * fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
1274 explicitly initialize filesys_info to be NULL.
1275
1276 * mke2fs.c: Include the stdio.h and errno.h header files
1277
1278Thu Jun 8 13:25:23 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
1279
1280 * mke2fs.c: Only include <linux/fs.h> if we can.
1281 (get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
1282 (check_mount): Only check to see if the device is mounted if
1283 HAVE_MNTENT_H is defined (by configure).
1284
1285 * fsck.c (load_fs_info): Only try to get info about filesystems if
1286 HAVE_MNTENT_H is defined (by configure).
1287 (main): Allocate space for a new fsck_path instead of append to a
1288 statically sized buffer.
1289 (PRS): Use alloca to allocate the new path string, instead of
1290 having a fixed size buffer (which was the wrong size anyway).
1291
1292 * chattr.c (chattr_dir_proc): Use alloca to allocate space for a
1293 filename instead of using a fixed-size buffer.
1294 * lsattr.c (lsattr_dir_proc): Ditto.
1295 * mklost+fond.c (main): Calculate the actual needed size for the
1296 path buffer instead of using MAXPATHLEN (which not all systems have).
1297
1298 * badblocks.c: Only include linux include files if we have them.
1299 (flush_bufs): New function to flush a block device, optionally
1300 syncing it first. This replaces other copies of this code.
1301 (test_ro): Replace calls to ioctl with flush_bufs().
1302 (test_rw): Ditto.
1303
1304 * Makefile.in: Rewritten to conform to GNU coding standards and
1305 support separate compilation directories.
1306
Theodore Ts'of3db3561997-04-26 13:34:30 +00001307Sat Mar 11 10:59:58 1995 Theodore Y. Ts'o <tytso@localhost>
1308
1309 * mke2fs.c (main, zap_bootblock): Added new function
1310 zap_bootblock() which clears the first 512 bytes of the
1311 filesystem. This protects the filesystem from being
1312 misidentified as a MS-DOS FAT filesystem.
1313
1314 * badblocks.c (alarm_intr, test_ro, test_rw): Increase the space
1315 allocated for printing the block numbers, so that the
1316 display doesn't get corrupted when running badblocks on a
1317 very large partition.
1318
1319 * badblocks.c (do_test, test_ro, test_rw): Added missing cast to
1320 ext2_loff_t, so that when checking a large device,
1321 spurious seek errors aren't reported.
1322
1323 * mke2fs.c (count_blocks): Declare mid to be of type ext2_loff_t
1324 instead of type int, so that it works for filesystems
1325 greater than 2 GB. (Fortunately count_blocks is only
1326 called if the device does not support the BLKGETSIZE
1327 ioctl, which most do.)
1328
1329 * fsck.c (ignore): Add check to ignore filesystems with a pass
1330 number of zero. (This check was accidentally deleted at
1331 during 0.5b development.)
1332
1333Sat Dec 31 00:47:16 1994 <tytso@rsx-11.mit.edu>
1334
1335 * mke2fs.c (new_table_block, alloc_tables, PRS, main): Add a new
1336 option, -S, which only writes the superblock and group
1337 descriptors. Useful for recovering when all of the
1338 superblocks are corrupted somehow (as a last ditch
1339 measure).
1340
1341 Also, don't bother initializing the bitmap blocks in
1342 alloc_tables(), since they will be overwritten at the end
1343 anyway. (Should speed up mke2fs by a little.)
1344
1345Tue Dec 6 02:20:55 1994 <tytso@rsx-11.mit.edu>
1346
1347 * fsck.c (main): Fix stupid typo where a null inst would be freed.
1348
1349 * fsck.c (wait_one): Check WIFEXITED on status before trying to
1350 extract the exit status. In other cases, return
1351 FSCK_ERROR if the back end processor exited with a signal.
1352
1353Tue Nov 15 10:20:00 1994 Remy Card <card@bbj>
1354
1355 * tune2fs.c (main): Fixed a bug which prevented the use of the
1356 new options.
1357 Added the `w' (week) suffix recognition in the check interval.
1358
1359Sun Nov 13 15:58:48 1994 (tytso@rsx-11)
1360
1361 * fsck.c (load_fs_info): If the user has an obviously old
1362 /etc/fstab file, issue a warning message and assume that
1363 all partitions should be checked.
1364
1365Sat Nov 12 00:33:18 1994 (tytso@rsx-11)
1366
1367 * dumpe2fs.c (list_desc): Update to new inode and block bitmap
1368 structures.
1369
1370 * mke2fs.c (create_root_dir): Create the root directory owned by
1371 the effective uid.
1372
1373Mon Nov 7 22:04:37 1994 Remy Card <card@bbj>
1374
1375 * tune2fs.c (main.c): Added support for new options:
1376 -r reserved_blocks_count, -g reserved_gid, -u reserved_uid.
1377
1378Sun Aug 21 00:57:33 1994 Theodore Y. Ts'o (tytso@rt-11)
1379
1380 * fsck.c (ignore): If the pass number is 0, ignore the filesystem.
1381
1382Wed Aug 17 21:55:03 1994 Remy Card (card@bbj)
1383
1384 * badblocks.c (test_rw): Added verbose output like in the
1385 read-only test.
1386
1387 (do_test and test_rw): Use the llseek system call if available.
1388
1389 * chattr.c: Added support for new attributes.
1390
1391 * lsattr.c: Added support for long format.
1392
1393 * mke2fs.c (usage): Fixed bogus usage message.
1394
1395 (valid_offset): Use the llseek system call if available.
1396
1397Wed Aug 17 10:50:57 1994 Theodore Y. Ts'o (tytso@rt-11)
1398
1399 * mke2fs.c (handle_bad_blocks): Check to see if a bad block is
1400 where a backup superblock/group descriptor is stored. If so,
1401 print a warning message and adjust the superblock counts so that
1402 they are correct. (Otherwise, the bad block will get counted
1403 twice and the # of free blocks count will be wrong.)
1404
1405 (alloc_tables): Removed code which calcualated the free block
1406 statistics, which was moved to lib/ext2fs/initialize.c. This
1407 allows the bad block code to adjust the group descriptor
1408 statistics if necessary.