blob: e44e6e66524ecf3fcff82940da117db63058cfbf [file] [log] [blame]
Theodore Ts'oc5423c52001-02-08 05:45:17 +000012001-02-08 Theodore Tso <tytso@valinux.com>
2
3 * e2image.c (main): Add code to write the e2image header.
4
Theodore Ts'offf18b42001-02-08 03:06:43 +000052001-02-07 Theodore Tso <tytso@valinux.com>
6
Theodore Ts'obe4244b2001-02-08 03:28:18 +00007 * tune2fs.8.in: Update man page to reflect that 2.0.39 supports
8 sparse_super.
9
Theodore Ts'o8b164f92001-02-08 03:24:18 +000010 * dumpe2fs.c (list_desc): Fix fencepost error when calculating the
11 range of inode table blocks. Add '0x' to values printed
12 in hex.
13
Theodore Ts'offf18b42001-02-08 03:06:43 +000014 * chattr.c, lsattr.c: Define the _LARGEFILE64_SOURCE to force the
15 use of the LFS so that lstat will work on large files.
16
Theodore Ts'o02088862001-01-18 01:44:19 +0000172001-01-17 Theodore Ts'o <tytso@valinux.com>
18
Theodore Ts'odc2ec522001-01-18 01:51:15 +000019 * tune2fs.c, mke2fs.c, tune2fs.8.in, mke2fs.8.in: Change user
20 interface so that -J is used to specify journal options,
21 and -j is used to request creation of a journal using
22 default values. (This is a UI change, but we haven't done
23 a formal release, and it makes things much more consistent
24 with the rest of the options out there.)
25
26 * tune2fs.c: Add support for removing a filesystem from an
27 external journal; we correctly remove the filesystem UUID
28 from the external journal's filesystem list.
29
Theodore Ts'o5683e6e2001-01-18 01:47:48 +000030 * util.h, util.c (journal_default_size): New function from Andreas
31 Dilger to calculate an appropriate default journal size
32 given a filesystem size.
33
34 * util.c (parse_journal_opts): Allow the creation of a journal as
35 small as 1MB.
36
Theodore Ts'o02088862001-01-18 01:44:19 +000037 * dumpe2fs.c (print_journal_information): Use s_first_data_block
38 to find the correct block to read the journal superblock.
39
Theodore Ts'o16ed5b32001-01-16 07:47:31 +0000402001-01-15 Theodore Ts'o <tytso@valinux.com>
41
42 * tune2fs.c: Changed the external journal code so that it simply
43 adds a filesystem to a journal; the journal must have bene
44 created via "mke2fs -O journal_dev /dev/XXX".
45
46 * mke2fs.c: Add support for creating an external journal device by
47 using the command "mke2fs -O journal_dev /dev/XXX". Also
48 changed the external journal code so -j device=/dev/XXX it
49 simply adds a filesystem to that journal; the journal must
50 have been created via separate step.
51
52 * dumpe2fs.c (print_journal_information): Add support for dumping
53 information about an external journal device.
54
Theodore Ts'o4055ef72001-01-14 16:11:14 +0000552001-01-14 Theodore Ts'o <tytso@valinux.com>
56
Theodore Ts'o44c09c02001-01-14 17:02:09 +000057 * mke2fs.c: Add new filesystem types, largefile and largefile4,
58 for those filesystems whose average inode size is 1MB and
59 4MB, respectively. Allow the inode ratio specified to be
60 has high as 4MB. Make the s_max_mount_count vary between
61 20 and 40, to avoid needing to check all of the
62 filesystems at the same time. Add some random jitter to
63 the s_max_mount_count value so that we avoid checking all
64 of the filesystems at the same time when we reboot.
65
Theodore Ts'o08dd8302001-01-14 16:25:58 +000066 * tune2fs.8.in: Add description of the -j option.
67
Theodore Ts'o4055ef72001-01-14 16:11:14 +000068 * tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush
69 stdout after printing in-progress message.
70 (main): Exit with status code 1 if we failed to determine
71 the mount status of the device.
72
Theodore Ts'odfcdc322001-01-11 15:38:00 +0000732001-01-11 <tytso@snap.thunk.org>
74
Theodore Ts'oc8c071a2001-01-11 16:08:23 +000075 * e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c,
76 uuidgen.c: Fix gcc -Wall complaints, including one bug in
77 tune2fs caused by a block automatic shadowing version of
78 the variable we really wanted to use, which broke the
79 logic testing to see if the filesystem was mounted.
80
Theodore Ts'o4d404542001-01-11 16:04:59 +000081 * badblocks.c (flush_bufs): Use ext2fs_sync_device() to sync and
82 flush the device.
83
Theodore Ts'odfcdc322001-01-11 15:38:00 +000084 * mke2fs.c: Change ino_t to ext2_ino_t.
85
Theodore Ts'o83238152001-01-09 00:16:26 +0000862001-01-08 <tytso@snap.thunk.org>
87
88 * Makefile.in, tune2fs.c: Move e2label functionality into tune2fs,
89 using argv[0] as a dispatch. This allows e2label to be
90 (more) safely used on mounted filesystems.
91
Theodore Ts'o8820c792001-01-06 04:20:03 +0000922001-01-05 <tytso@snap.thunk.org>
93
94 * get_device_by_label.h (get_volume_label_by_spec): Add function
95 prototype.
96
97 * get_device_by_label.c: Use string_copy() instead of strdup() for
98 portability's sake. Fix a few other gcc -Wall
99 complaints.
100
101 * fsck.c (string_copy): Export string_copy() extern.
102
103 * badblocks.c: Fix various gcc -Wall complaints, including
104 an incorrect reference to sync in flush_bufs().
105
Theodore Ts'o63985322001-01-03 17:02:13 +00001062001-01-03 <tytso@snap.thunk.org>
107
108 * tune2fs.c (update_feature_set, add_journal): Moved to separate
109 functions. Added ability to add and remove the journal
110 while the filesystem is live. Added support for setting
111 a time-based UUID. Removed zero-initialized static variables.
112
113 * mke2fs.c, util.c, util.h (strcasecmp, proceed_question,
114 check_plausibility, parse_journal_opts, check_mount):
115 Moved functions to util.c so they can be used by tune2fs.
116
117 * mke2fs.c (main): Change ext2fs_add_journal_fs() to
118 ext2fs_add_journal_inode() to reflect function renaming.
119
Theodore Ts'ob21e38a2001-01-01 15:26:58 +00001202001-01-01 <tytso@snap.thunk.org>
121
Theodore Ts'oef9abe52001-01-01 15:31:53 +0000122 * mke2fs.c, e2image.c: Removed references to struct ext2fs_sb to
123 struct ext2_super_block.
124
Theodore Ts'ob21e38a2001-01-01 15:26:58 +0000125 * tune2fs.c (main): Add support to allow HAS_JOURNAL flag to be
126 cleared, but only if the filesystem is unmounted or
127 mounted read-only. Changed struct ext2fs_sb to struct
Theodore Ts'oef9abe52001-01-01 15:31:53 +0000128 ext2_super_block, and cleaned up old code which was needed
129 for old versions of ext2_fs.h (not needed since we're
130 using our own version now).
Theodore Ts'ob21e38a2001-01-01 15:26:58 +0000131
Theodore Ts'o9a718842000-12-31 13:48:12 +00001322000-12-31 <tytso@snap.thunk.org>
133
Theodore Ts'od4cf2fc2000-12-31 14:09:38 +0000134 * fsck.c (check_all): Call interpet_device to resolve LABEL= and
135 UUID= right away so that the device_already_active() logic
136 can do the right thing. Also cleaned up the the root
137 filesystem logic checking code; fixed up a logic bug with
138 the parallel_root option.
139
Theodore Ts'of10748d2000-12-31 13:55:14 +0000140 * lsattr.1.in: Add pointer to chattr man page for definition of
141 the file attributes.
142
143 * lsattr.c (list_attributes): Minor cleanup to smooth out logic
144 flow. Also removed static initialized variables to zero.
145
Theodore Ts'o9a718842000-12-31 13:48:12 +0000146 * chattr.c (decode_arg, get_flag): Use a table-driven method for
147 decoding the ext2 file flags character options. Add
148 support for the journaled data flag.
149
150 * chattr.1.in: Document the -j/+j/=j flag.
151
Theodore Ts'o16ad3332000-12-31 03:21:56 +00001522000-12-30 <tytso@snap.thunk.org>
153
154 * mke2fs.8.in: Minor clarity edit.
155
156 * mke2fs.c (usage): Document the -j option.
157 (main): Print the number blocks used in the journal.
158
Theodore Ts'ob9fd8c12000-12-29 03:10:45 +00001592000-12-28 <tytso@snap.thunk.org>
160
161 * base_device.c (base_device): Add support for DAC960 device
162 names.
163
164 * fsck.c (device_already_active): Handle the case where
165 base_device doesn't know how to interpret the device name,
166 instead of core dumping.
167
Theodore Ts'o74a74d22000-12-09 14:33:29 +00001682000-12-09 <tytso@snap.thunk.org>
169
Theodore Ts'od48755e2000-12-09 14:36:04 +0000170 * mke2fs.c (main, parse_journal_opts): Add support for creating V1
171 superblocks. We now pass in a journal_flags field to the
172 journal creation routines for this purpose.
173
174 * mke2fs.c: Remove zero initializers to save a few bytes from the
175 executable image. (Are we excited yet?)
176
Theodore Ts'o74a74d22000-12-09 14:33:29 +0000177 * findsuper.c: And non-subtle copyright licensing restriction to
178 get Yann to remove this program from the Debian package. :-)
179
Theodore Ts'o793e27d2000-12-03 06:33:56 +00001802000-12-03 <tytso@snap.thunk.org>
181
182 * fsck.c (device_already_active): Change to use new version of
183 base_device() which now returns dynamically allocated
184 memory.
185
186 * base_device.c (base_device): New version moved from fsck.c which
187 now understands ugly devfs names. (Debian bug #65181)
188
189 * base_device.tst: Test case for base_device.c
190
Theodore Ts'oe1c6b2f2000-12-02 06:19:33 +00001912000-12-02 <tytso@snap.thunk.org>
192
Theodore Ts'o2d091792000-12-02 07:03:32 +0000193 * fsck.8.in: Add clarification that filesystems with a fs_passno
194 of 0 are skipped with the -A option. (Debian wishlist/bug
195 #63442)
196
Theodore Ts'oe9f9dd82000-12-02 06:35:07 +0000197 * fsck.c (wait_one): When we let a new fsck take control of the
198 console to display the progress bar, set FLAG_PROGRESS to
199 so that fsck knows not to start new processes during an
200 fsck pass with the progress bar. (Should fix debian bug
201 #65267)
202
Theodore Ts'oe1c6b2f2000-12-02 06:19:33 +0000203 * tune2fs.8.in: Add clarifying statement about converting user and
204 group names to uid's before storing them in the
205 superblock. (Debian bug #67446)
206
Theodore Ts'o8ddaa662000-11-17 04:55:24 +00002072000-11-16 Theodore Ts'o <tytso@valinux.com>
208
209 * mke2fs.c(main): Expand the -j option so that it parses
210 option=argument style options, and add support for
211 creating filesystems with external journals.
212
213 * mke2fs.8.in: Document new syntax for the -j option.
214
Theodore Ts'o72ed1262000-11-12 19:32:20 +00002152000-11-05 <tytso@snap.thunk.org>
216
217 * e2image.c, Makefile.in: New program which saves ext2 metadata to
218 a file for people who need a last-ditch saving throw.
219
Theodore Ts'o85ef4ae2000-10-24 19:33:45 +00002202000-10-24 <tytso@snap.thunk.org>
221
Theodore Ts'of6f65832000-10-25 03:01:37 +0000222 * mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
223 handling a bit more sane. (Even though -s is deprecated
224 at this point.)
225
Theodore Ts'o0056be12000-10-25 02:24:33 +0000226 * get_device_by_label.c: Apply fix from Erik Troan to support 16
227 character labels.
228
Theodore Ts'o43819662000-10-25 02:06:09 +0000229 * fsck.c (device_already_active): Add a special case check for MD
230 devices, so we don't try to check them in parallel with
231 other devices.
232
Theodore Ts'o85ef4ae2000-10-24 19:33:45 +0000233 * mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
234 option, which builds an ext2/3 filesystem with an ext3
235 journal.
236
Theodore Ts'oe294cf22000-10-24 18:41:44 +00002372000-10-24 <tytso@valinux.com>
238
239 * mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
240 didn't catch.
241
Theodore Ts'o3f1e9a52000-09-12 21:21:52 +00002422000-09-12 <tytso@valinux.com>
243
244 * fsck.c: Add base device definitions for hd[e-h], for those
245 systems with four IDE interfaces.
246
Theodore Ts'od7e39b02000-09-11 17:01:35 +00002472000-09-11 <tytso@valinux.com>
248
249 * mke2fs.c (zap_sector): Fix error message printed when zap_sector
250 fails.
251
252 * dumpe2fs.c (list_desc): Fixed format string bug when printing
253 the inode table location in non-hex format.
254
Theodore Ts'o556ccbd2000-08-20 19:11:05 +00002552000-08-20 <tytso@valinux.com>
256
257 * get_device_by_label.c: Add call to ext2fs_find_block_device if
258 we can't find the device using the name given by
259 /proc/partitions. (This can happen if devfs is compiled
260 into the kernel, but not mounted.)
261
Theodore Ts'o80c22c92000-08-14 15:32:11 +00002622000-06-27 Andreas Dilger <adilger@turbolabs.com>
263
264 * dumpe2fs.c (usage): add fhx options to usage message, add -x option
265 to print out the per-group block numbers in hex, add line for
266 location of primary/backup superblock and group descriptors
267
268 * mke2fs.c: rename max to group_blk_max avoid potential macro conflict
269
Theodore Ts'oe41784e2000-08-14 14:44:15 +00002702000-08-14 <tytso@valinux.com>
271
272 * mke2fs.c (zap_sector): Change zap_bootsect to more general
273 zap_sect.
274 (main): Clear the superblock when starting mke2fs, to
275 avoid leaving the filesystem in an inconsistent state.
276
Theodore Ts'o28412de2000-07-27 02:45:55 +00002772000-07-26 <tytso@valinux.com>
278
279 * get_device_by_label.c: Improve /proc/partitions parsing in
280 fsck, and speed up fsck -a.
281
Theodore Ts'of9e67062000-07-13 23:25:54 +00002822000-07-13 <tytso@valinux.com>
283
284 * Release of E2fsprogs 1.19
285
Theodore Ts'oa551b782000-07-13 22:05:31 +00002862000-07-13 <tytso@snap.thunk.org>
287
288 * badblocks.8.in: Added text explaining that the -n and -w options
289 are mutually exclusive.
290
291 * badblocks.c (usage): Fix usage message to make it clear that the
292 block count must be specified if the starting block is to
293 be specified. (The starting block should be a option, in
294 the long run.)
295
296 * badblocks.c (test_nd): Save and restore the currently_testing
297 variable before going into the write verification loop.
298 This avoids a loop termination problem if the last block
299 on the disk is bad. Also, turn off the SIGALRM signal
300 while restoring blocks after the user types ^C. The
301 num_saved variable is now static so that it won't get
302 clobbered by a longjmp. buf_used and bb_count are no
303 longer static, since they aren't used by the cleanup
304 routines anymore.
305
306 * badblocks.c (main): Removed an unsued varaible (buf_size).
307 Fixed bad getopt argument that didn't allow the 'b' option
308 to take an argument. Added error checking when parsing
309 the starting block number. Fixed lint warning in fscanf
310 format string.
311
Theodore Ts'o35964b52000-07-06 13:19:43 +00003122000-07-06 Theodore Ts'o <tytso@valinux.com>
313
Theodore Ts'o19c68912000-07-07 03:25:13 +0000314 * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
315 fsck.ext2 (because they are the same) for the purposes of
316 the progress bar display logic.
317
Theodore Ts'o45d9e2f2000-07-07 03:12:54 +0000318 * tune2fs.8.in: Update manual page to document what happens if
319 max_mount_count is negative.
320
321 * tune2fs.c (main): Allow setting the maximal count value to be
322 negative, since the kernel interprets that as forcing a
323 check.
324
Theodore Ts'o5b1519b2000-07-06 14:16:08 +0000325 * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
326 for calling interpret_device(), since this requires root
327 privileges if the partitions need to be scanned.
328 Otherwise, it's not possible to do non-proot fsck's for
329 removeable devices such as floppies if there are any
330 LABEL= or UUID= entries in /etc/fstab.
331
Theodore Ts'o981dc562000-07-06 14:13:29 +0000332 * badblocks.c (check_mount, main): Check to see if the filesystem
333 is mounted before doing a read/write or non-destructive
334 test. This can be overriden using the new -f option.
335
Theodore Ts'o35964b52000-07-06 13:19:43 +0000336 * badblocks.8.in: Update manual page to reflect that the
337 blocks-count parameter is now optional. Also properly
Theodore Ts'o981dc562000-07-06 14:13:29 +0000338 document the start-block parameter. Added documentation
339 for the -f option.
Theodore Ts'o35964b52000-07-06 13:19:43 +0000340
341 * badblocks.c (main): Allow the blocks-count parameter to be
342 optional. If it's not specified, use the size of the
343 device as a default.
344
Theodore Ts'od49a22b2000-07-06 00:31:27 +00003452000-07-05 Theodore Ts'o <tytso@valinux.com>
346
347 * badblocks.c (test_nd): Significantly simplify the logic so that
348 it's more obviously what's going on. Fixed a few
349 potential cases which weren't handled correctly in the
350 old, overly complicated logic.
351 (flush_bufs): Now doesn't take a second argument, and
352 always forces a sync; this is required before it's really
353 safe to call BLKFLSBUF, at least for some kernels.
354
Theodore Ts'o26ab5312000-05-29 15:05:42 +00003552000-05-29 Theodore Ts'o <tytso@valinux.com>
356
357 * mke2fs.c (PRS): Add a much more specific error message if the
358 filesystem size is defaulted and get_device_size returns a
359 size of zero. Otherwise, users get a confusing "invalid
360 argument while passed to ext2 library" error message.
361
Theodore Ts'o4ea0a112000-05-08 13:33:17 +00003622000-05-08 Theodore Ts'o <tytso@valinux.com>
363
Theodore Ts'oc96e5112000-05-08 14:47:15 +0000364 * fsck.c (interpret_device): Add better error messages if a UUID=
365 or LABEL= specification is given.
366
Theodore Ts'o4ea0a112000-05-08 13:33:17 +0000367 * mke2fs.c (main): We forcibly turn off the filetype feature if
368 the OS is the hurd, since the hurd doesn't support it.
369 (And since the hurd allows the transmogrification of files
370 to special files and vice versa --- for no good reason
371 that I can understand --- it can't support the filetype
372 feature for the forseeable future, either.)
373
374 * mke2fs.c (proceed_question): Fix reversed sense of
375 proceed_question that was busted due to the
376 internationalization patch. Fixed bug where if
377 proceed_question was called twice, the input buffer wasn't
378 cleared of the previous question's newline.
379
Theodore Ts'oe2207ce2000-04-06 21:51:18 +0000380Thu Apr 6 17:50:25 2000 Theodore Y. Ts'o <tytso@signal.thunk.org>
381
382 * badblocks.c (flush_bufs): Use fsync() if the system doesn't
383 support fdatasync().
384
Theodore Ts'offe4cab2000-04-03 13:27:41 +00003852000-04-03 Theodore Ts'o <tytso@valinux.com>
386
Theodore Ts'o373b8332000-04-03 16:22:35 +0000387 * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
388 uuidgen.c: For platforms that don't define optarg.h,
389 manually define optarg and optind.
390
Theodore Ts'o4d003982000-04-03 16:01:11 +0000391 * badblocks.8.in: Updated manual page with suggestions from David
392 Beattie.
393
394 * badblocks.c (test_nd): Generalized cleanup and bug-fixes. We
395 now explicitly clear out the signal handlers to prevent a
396 longjmp to a deactivated stack frame.
397 (test_rw): Fixed a signed vs. unsigned comparison error.
398
Theodore Ts'offe4cab2000-04-03 13:27:41 +0000399 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
400 mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
401 address.
402 chattr.1.in: Update which attributes aren't supported.
403
Theodore Ts'oe1a0a3e2000-02-11 05:00:19 +00004042000-02-09 Theodore Ts'o <tytso@valinux.com>
405
406 * chattr.1.in:
407 * lsattr.1.in: Change "version" to "version/generation number".
408
409 * chattr.1.in: Fix stupid file vs filesystem typo.
410
411 * tune2fs.c Fix spelling error (spare vs sparse).
412
413 * mke2fs.c (PRS): Add safety check to make sure the number of
414 blocks doesn't exceed 32 bits on a 64 bit machine.
415
416 * chattr.c: Random cleanup; file-only variables are now static.
417 Options for setting/clearings flags put into order, and
418 #ifdef's removed (since we now use a built-in header
419 file). Add error message if user tries to set and reset
420 the same flag.
421
422 * lsattr.c: Random cleanup; file-only variables are now static.
423 The -l "long" listing has been changed to look nicer.
424 Options names have been renamed to be more descriptive.
425
Theodore Ts'odd018f52000-02-06 23:57:07 +00004262000-02-06 Theodore Ts'o <tytso@valinux.com>
427
Theodore Ts'od9c56d32000-02-08 00:47:55 +0000428 * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
429 fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c,
430 mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
431 uuidgen.c: Add Internationalization support as
432 suggested by Marco d'Itri <md@linux.it>.
433
Theodore Ts'odd018f52000-02-06 23:57:07 +0000434 * badblocks.c: Fix non-destructive read/write patches from David
435 Beattie. Non-standard variable-length automatic arrays
436 removed. Non-destrutive write test fixed so that logic is
437 clearer and more provably correct. (I believe the old
438 code had a bug where the disk data wasn't restored if it
439 was interrupted at the wrong time.)
440
441 * badblocks.8.in: Document new options in man page.
442
Theodore Ts'ob4ee1fb2000-02-02 19:08:51 +00004432000-02-02 Theodore Ts'o <tytso@valinux.com>
444
445 * fsck.c (interpret_device): If there was an attempt to interpret
446 a device specification of the type "UUID=" or "LABEL=",
447 and it fails, check to see if /proc/partitions is
448 readable. If not, print a warning message about /proc
449 perhaps not being mounted, and exit.
450
451 * mke2fs.c (check_plausibility): Remove unneeded #include of
452 linux/fs.h. Add #define of MAJOR if necessary.
453
454 * partinfo.c: Remove unneeded #include of linux/fs.h
455
Theodore Ts'o582134c2000-01-19 13:26:23 +00004562000-01-19 Theodore Ts'o <tytso@valinux.com>
457
458 * tune2fs.c (usage): Update the usage message to correctly
459 document the -s option.
460
Theodore Ts'o879ac922000-01-18 20:59:11 +00004612000-01-18 Theodore Ts'o <tytso@valinux.com>
462
463 * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.
464 Need to do cleanup before release: use of GCC extensions
465 (dynamic arrays); unclean coding tricks (use of || instead
466 of if statements, etc.). Comments from David Beattie:
467
468 "I added non-destructive write-testing, and quite a few
469 other features. The non-destructive write testing,
470 triggered by new "-n" command-line option, will write test
471 patterns to the disk, but only after reading data off the
472 disk into memory. Then, comparing the test patterns gives
473 a result as to whether or not those sectors are reliable.
474 Finally, the original data is written back.
475
476 To streamline this operation, I added another option, "-c
477 blocks_at_once", which will give the number of disk blocks
478 to process at one time (mnemonic--"count"). I made this
479 default to 16 (as in the read-only testing mode), and also
480 affect the read-only testing mode. Of course, read-only
481 mode needs (count * block_size) amount of memory, and
482 non-destructive read-write needs 3 times that much, so it
483 makes sense to do the calculations and not overrun
484 available RAM...I would have liked to implement and
485 auto-memory-usage heuristic, but I have no idea if it's
486 even possible to determine the amount of free memory on a
487 Unix system except by reading /proc entries, and that
488 didn't seem portable. I did NOT make this blocks_at_once
489 affect the behavior of the test_rw routine, as it is
490 processing the whole disk at once, anyway.
491
492 I *think* that I got higher detection rates on my hard
493 drive using random test data than patterned test data, so
494 my non-destructive mode initializes its test data buffer
495 randomly.
496
497 I fixed a typo in flush_bufs that caused the ioctl
498 BLKFLSBUF to never get compiled into the program.
499
500 Also, I added an "undocumented" (I didn't put it into the
501 usage message; you can if you think it's useful) "-h"
502 option to specify the host device to flush--useful if you
503 want to test out my "non-destructive" code on something
504 other than a hard drive, such as a file on a hard drive,
505 and want the host hard drive to flush.
506
507 I provided support for an "input" file (via option "-i",
508 similar to the "-o" option)...containing a list of
509 already-known bad blocks; it will skip testing those
510 blocks, thus adding speed to the bad block scan (on my
511 computer, hitting a physically bad block causes a
512 half-second-or-more freeze as the kernel waits for the
513 hard drive to give up and reset itself; pretty annoying
514 when you already know the block is bad from a previous
515 scan).
516
517 Finally, the real killer, the persistent re-scan (option:
518 "-p num_passes") that I created will, if desired,
519 persistently re-scan the drive until it has completed a
520 user-decidable number of passes in a row during which no
521 new bad blocks are found. On my drive, I would see
522 behavior that a certain percentage of bad blocks would be
523 found with each pass (it was not reliable in the defective
524 areas!), so I wanted it to check it over and over again
525 until it didn't find any more, several times. Perhaps
526 this will be useful to others. Defaults of course to
527 zero, meaning it will stop after the first pass. I used
528 "-p 2" on my drive, and it ran for 2 1/2 days...then used
529 "-p 3" a couple days later and it ran for a few more
530 hours, and since then the rest of my drive has been
531 completely reliable.
532
533 Implementation of these last two features, "-i" and "-p",
534 I did using a bb_list from libext2fs. I debated whether
535 bad blocks input through "-i" should be output into the
536 "-o" file (or stdout, of course), and decided against it,
537 but left the code to do so in place, commented out, just
538 for your information.
539
540 In order to maintain data integrity upon interruption of a
541 non-destructive-write test, I created a signal handler
542 which I install which will write back whatever original
543 disk data is in the buffers upon any of the fatal signals
544 (except SIGKILL, of course).
545
546 Of course, ideally, the new options would be reflected in
547 the badblocks manual page, but I am not experienced at
548 manual page modification; if you decide my patch to
549 badblocks should be incorporated into the distribution, I
550 could learn how to update the manpage and other
551 documentation, or you could do it for me after exercising
552 your opinions, if you have any, on exactly what the
553 command-line parameters should be called and which ones
554 should be in the distribution."
555
Theodore Ts'o3cb77842000-01-18 16:30:27 +00005562000-01-07 Theodore Ts'o <tytso@valinux.com>
557
558 * Really fix the bug where "fsck -As" will actually allow
559 interactive fsck's. (For those people who like to do
560 interactive fsck's in the /etc/rc scripts!?!)
561
Theodore Ts'obfd21931999-11-23 13:48:58 +00005621999-11-23 <tytso@valinux.com>
563
564 * tune2fs.8.in: Fix man page so that the sparse_super filesystem
565 option is properly named.
566
Theodore Ts'o6733c2f1999-11-23 02:23:30 +00005671999-11-22 <tytso@valinux.com>
568
569 * mke2fs.c: Change log2() and log10() to int_log2() and
570 int_log10() to avoid namespace collisions. Change #ifdef
571 sparc to #ifdef __sparc__.
572
Theodore Ts'o5c36a2f1999-11-19 18:42:30 +00005731999-11-19 <tytso@valinux.com>
574
575 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
576 the source directory.
577
Theodore Ts'o6fdc7a31999-11-10 13:34:40 +00005781999-11-10 <tytso@valinux.com>
579
Theodore Ts'ocd086361999-11-10 16:00:39 +0000580 * Release of E2fsprogs 1.18
581
5821999-11-10 <tytso@valinux.com>
583
Theodore Ts'o6fdc7a31999-11-10 13:34:40 +0000584 * mke2fs.8.in: Update manual page so that the sparse_option
585 filesystem option is properly named.
586
Theodore Ts'o6a35ffa1999-11-04 22:34:43 +00005871999-11-04 <tytso@valinux.com>
588
589 * fsck.c (main): Move setting of the interactive flag to before
590 the call to check_all(), so that people who try to use
591 fsck -As can do so interactively.
592
Theodore Ts'o36caf251999-10-26 14:29:22 +00005931999-10-26 <tytso@valinux.com>
594
Theodore Ts'o28e11941999-10-26 18:17:20 +0000595 * Release of E2fsprogs 1.17
596
5971999-10-26 <tytso@valinux.com>
598
Theodore Ts'o3bc03661999-10-26 17:17:00 +0000599 * fsck.c (PRS, device_already_active): Add debugging hook; if the
600 environment variable FSCK_FORCE_ALL_PARALLEL is set, then
601 force all fsck runs to happen in parallel.
602
Theodore Ts'o36b01301999-10-26 14:38:36 +0000603 * get_device_by_label.c (has_right_label): Fixed bug where code
604 used a strncmp to compare a binary UUID value which may
605 contain a NULL. Fixed GCC warnings; added const to char *
606 typed variables. Eliminated non-portable use of u_char.
607
Theodore Ts'o4a600561999-10-26 14:35:51 +0000608 * mke2fs.c (PRS): Fix gcc warnings; add const to some char *
Theodore Ts'o9094f281999-10-26 16:42:50 +0000609 variables, including in struct mke2fs_defaults.
610 (set_fs_defaults): Changed parameter name to avoid
611 gcc warnings.
Theodore Ts'o4a600561999-10-26 14:35:51 +0000612
Theodore Ts'ob5135711999-10-26 14:33:24 +0000613 * fsck.c (wait_one): Fix gcc warnings; add #include for ctype.h,
614 add const to char * variables, and use NOARGS to declare
615 functions that take no arguments. Also fix a memory leak
616 in execute() where we weren't freeing argv[] after forking
617 the child process.
618
Theodore Ts'o36caf251999-10-26 14:29:22 +0000619 * chattr.c: Add hack to compile in a definition for S_ISLNK so we
620 can successfully compile even with warnings turned on.
621
Theodore Ts'oad6783d1999-10-26 01:58:54 +00006221999-10-25 <tytso@valinux.com>
623
624 * mke2fs.c (show_stats): Capitalized Hurd to make the GNU types
625 happy.
Theodore Ts'oe6597041999-10-26 02:30:16 +0000626 (PRS): Use __u64 instead of long long for portability
627 reasons. Also moved #include of sys/stat.h inside #ifdef
628 HAVE_LINUX_MAJOR_H for portability reasons.
Theodore Ts'oad6783d1999-10-26 01:58:54 +0000629
630 * fsck.c (execute): Fix really stupid bug in the linked list
631 management which caused fsck in parallel mode to go into
632 an infinite loop.
633
Theodore Ts'o896938d1999-10-23 01:04:50 +00006341999-10-22 <tytso@valinux.com>
635
Theodore Ts'o614fdfd1999-10-23 03:19:51 +0000636 * Release of E2fsprogs 1.16
637
6381999-10-22 <tytso@valinux.com>
639
Theodore Ts'o896938d1999-10-23 01:04:50 +0000640 * tune2fs.c (main): Add a new option -O which allows the user to
641 set and clear certain "safe" filsystem feature flags.
642 Currently, the only ones which are supported for
643 modification are sparse_superblock and filetype.
644
645 * mke2fs.c (PRS): Add new option -O which allows the user to
646 request filesystems with specific filesystem options. By
647 default on 2.2 and later systems, create filesystems that
648 have both file type information and sparse superblocks.
649
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +00006501999-10-21 <tytso@valinux.com>
651
652 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, e2label.8.in,
653 fsck.8.in, lsattr.1.in, mke2fs.8.in, mklost+found.8.in,
654 tune2fs.8.in, uuidgen.1.in: Update man page to use a more standard
655 format (bold option flags and italicized variables), as
656 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
657
Theodore Ts'o7f4bb6c1999-10-20 18:11:01 +00006581999-10-14 <tytso@valinux.com>
659
Theodore Ts'o671cbfa1999-10-20 18:14:23 +0000660 * tune2fs.c (main): Fix typo (double spaces) in messages regarding
661 changing the sparse superblock option
662
Theodore Ts'o7f4bb6c1999-10-20 18:11:01 +0000663 * fsck.c (wait_one): If the fsck process just started, wait a
664 second before sending a SIGUSR1, to give it a chance
665 to set the signal handler; otherwise, fsck will die on an
666 unhandled SIGUSR1.
667
6681999-09-15 <tytso@valinux.com>
Theodore Ts'o76714331999-10-20 18:06:29 +0000669
670 * mke2fs.c (show_stats): Fix display bug when printing out the
671 number of superblocks. Suggested by Yann Dirson.
672
Theodore Ts'o27401561999-09-14 20:11:19 +00006731999-09-08 <tytso@valinux.com>
674
675 * partinfo.c: Fix minor compilation bugs pointed out by Yann
676 Dirson.
677
678 * mke2fs.c: Don't turn on sparse superblocks by default on pre-2.2
679 kernels.
680
681 * mke2fs.8.in: Add the possible valid block sizes for mke2fs.
682 Document the -n flag, and the new defaults for the -s
683 flag.
684
685 * dumpe2fs.c, dumpe2fs.8.in: Add new options -f (force) and -h
686 (header-only).
687
6881999-08-13 <tytso@valinux.com>
689
690 * mke2fs.c (PRS): Fix logic for turning on/off the sparse
691 superblock option.
692
6931999-07-18 Theodore Ts'o <tytso@valinux.com>
Theodore Ts'o657cb971999-07-30 23:19:10 +0000694
695 * Release of E2fsprogs 1.15
696
Theodore Ts'o50787ea1999-07-19 15:30:21 +00006971999-07-18 <tytso@rsts-11.mit.edu>
698
699 * mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows
700 the user to specify the how the filesystem is to be used.
701 Mke2fs now chooses the filesystem parameters automatically
702 based on the size of the filesystem and the intended use
703 of the filesystem. Add new option -n which simply goes
704 through the calculations to determine the parameters of
705 the filesystem the system would make.
706
7071999-07-18 <tytso@valinux.com>
708
709 * fsck.c, fsck.h: Add support for new option -C. This option will
710 automatically manage e2fsck processes so that they will
711 print completion/progress bars. If multiple filesystems
712 are being checked, arrange to make sure that only one
713 e2fsck process is displaying a progress bar at a time.
714
7151999-07-08 <tytso@valinux.com>
Theodore Ts'o9f10a7b1999-07-16 10:41:36 +0000716
717 * badblocks.c (do_test): Don't complain if the write error occurs
718 on a non-block boundary. This is perfectly common when
719 using blocksizes larger than 1k.
720
Theodore Ts'oc54b3c31999-07-03 07:20:06 +00007211999-07-03 <tytso@valinux.com>
Theodore Ts'o5dbb0721999-07-03 06:16:06 +0000722
723 * uuidgen.c: Add option parsing so that user can ask for either a
724 time-based UUID or a random-based UUID.
725
Theodore Ts'oc54b3c31999-07-03 07:20:06 +00007261999-07-02 <tytso@valinux.com>
Theodore Ts'o2d8defd1999-07-03 01:59:42 +0000727
728 * fsck.c: Added support for LABEL= and UUID= specifications for
729 the filesystem's device, to match what recent mount
730 programs can support. Also, close stdin when doing fsck
731 -A or when checking more than one filesystem at a time, so
732 that e2fsck doesn't try to ask interactive questions if
733 the filesystem appears to be mounted.
734
735 * get_device_by_label.c: New file added to support LABEL=foo and
736 UUID=bar type specifications.
737
Theodore Ts'o00eedba1999-07-03 00:45:58 +00007381999-07-01 <tytso@valinux.com>
739
740 * badblocks.c: Make the "done" string include enough spaces to
741 clear out a large block number.
742
Theodore Ts'oca3c3281999-06-29 14:37:35 +00007431999-06-29 <tytso@valinux.com>
744
745 * mke2fs.c (check_mount): Allow a filesystem to be made even if it
746 appears mounted if the force option is given.
747
Theodore Ts'oe72a9ba1999-06-25 15:40:18 +00007481999-06-24 <tytso@valinux.com>
749
750 * mke2fs.8.in: Fix typo in man page which caused the badblocks
751 command to not show up in the "SEE ALSO" section.
752
Theodore Ts'oe2423cc1999-06-18 00:51:31 +00007531999-05-02 <tytso@rsts-11.mit.edu>
754
755 * findsuper.c: Added documentation from aeb@cwi.nl; some minor
756 code cleanups.
757
Theodore Ts'o02e7dd91999-06-18 00:48:41 +00007581999-05-20 <tytso@rsts-11.mit.edu>
759
760 * dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which
761 allow a filesystem expert to specify the superblock and
762 blocksize when opening a filesystem. This is mainly
763 useful when examining the remains of a toasted filesystem.
764
Theodore Ts'o5d45d801999-03-16 19:35:19 +00007651999-03-11 Andreas Dilger <adilger@enel.ucalgary.ca>
766
767 * uuidgen.c, uuidgen.1.in: Created command-line utility to
768 generate UUIDs.
769
7701999-03-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
771
772 * fsck.c (fsck_device, execute): Don't dereference a null pointer
773 when checking a filesystem not in /etc/fstab.
774
Theodore Ts'o7d5633c1999-02-09 08:14:28 +00007751999-02-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
776
777 * fsck.c (fsck_device): Print an error message if the user passes
778 in a device or directory name which isn't found in /etc/fstab.
779 Allow the location of /etc/fstab to be overridden by
780 the FSTAB_FILE environment variable.
781
7821999-01-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
783
784 * mke2fs.c (write_inode_tables): Add kludge code so that when the
785 MKE2FS_SYNC environment variable is set, mke2fs will sync
786 every MKE2FS_SYNC block groups, while it is writing out
787 the inode tables. This is to work around a VM bug in the
788 2.0 kernel. I've heard a report that a RAID user was able
789 to trigger it even using a 2.2 kernel.
790
Theodore Ts'oee922991999-01-16 05:39:12 +00007911999-01-16 Theodore Ts'o <tytso@rsts-11.mit.edu>
792
793 * fsck.c (execute, wait_one): Modified routines so that they
794 accurately create an fsck_instance even when the noexecute
795 flag is set. This allows for accurate debugging of the
796 fsck pass structure.
797 (check_all): When the verbose flag is given twice, print
798 debugging information about when fsck is waiting for jobs
799 to finish.
800
Theodore Ts'o7953f611999-01-09 05:03:52 +00008011999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
802
Theodore Ts'o9e51eca1999-01-09 16:32:31 +0000803 * Release of E2fsprogs 1.14
804
8051999-01-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
806
Theodore Ts'o7953f611999-01-09 05:03:52 +0000807 * fsck.8.in: Clarified and expanded the documentation for the -A
808 switch.
809
Theodore Ts'o665f7101999-01-08 13:33:39 +00008101999-01-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
811
812 * fsck.c (load_fs_info): If the pass number field is missing, it
813 needs to be treated as zero.
814
Theodore Ts'oa88fa0c1999-01-05 07:02:39 +00008151999-01-05 Theodore Ts'o <tytso@rsts-11.mit.edu>
816
Theodore Ts'o5515e6b1999-01-05 07:25:06 +0000817 * mke2fs.c (PRS): Allow the user to specify exactly how many
818 inodes he/she wishes.
819
Theodore Ts'oa88fa0c1999-01-05 07:02:39 +0000820 * chattr.c, lsattr.c: Only print the version information for the
821 program if the -V option is given.
822
823 * chattr.c: Ignore symbolic links when doing a recursive descent
824 through a directory.
825
Theodore Ts'o93ab9d71999-01-02 04:04:42 +00008261999-01-01 Theodore Ts'o <tytso@rsts-11.mit.edu>
827
828 * fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines
829 are commented out. Also allow blank lines in the
830 /etc/fstab file.
831 (execute): In verbose mode, print the mountpount of the
832 filesystem which we are checking (user request).
833
8341998-12-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
835
836 * mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
837 compatibility with Linux 1.2.13 header files.
838
Theodore Ts'o556ad131998-12-19 08:10:58 +00008391998-12-15 Theodore Ts'o <tytso@rsts-11.mit.edu>
840
841 * Release of E2fsprogs 1.13
842
Theodore Ts'ocb620171998-12-08 02:21:29 +00008431998-12-07 Theodore Ts'o <tytso@rsts-11.mit.edu>
844
845 * mke2fs.8.in: Fixed stupid typo ("Raid options are _comma_
846 seperated", instead of common separated)
847
Theodore Ts'o5a679c81998-12-03 16:40:38 +00008481998-12-03 Theodore Ts'o <tytso@rsts-11.mit.edu>
849
850 * Makefile.in: Updated dependencies.
851
8521998-11-27 Theodore Ts'o <tytso@rsts-11.mit.edu>
853
854 * fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of
855 relying on getmntent(). This has the advantage of
856 allowing us to properly handle missing pass numbers correctly.
857
Theodore Ts'o1dde43f1998-11-14 04:18:28 +00008581998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
859
860 * tune2fs.8.in: Fix minor display bug in the nroff.
861
862 * mke2fs.c (show_stats, write_inode_tables): Use the log10
863 function to calculate the display of block numbers so that
864 things look nice on an 80 character display.
865
8661998-10-12 Theodore Ts'o <tytso@rsts-11.mit.edu>
867
868 * mke2fs.c (usage): Add the sparse-super-flag to the usage
869 message.
870
Theodore Ts'o4a5fa191998-07-09 05:42:45 +00008711998-07-09 Theodore Ts'o <tytso@rsts-11.mit.edu>
872
873 * Release of E2fsprogs 1.12
874
Theodore Ts'oeb5ab741998-07-04 17:47:52 +00008751998-07-04 Theodore Ts'o <tytso@rsts-11.mit.edu>
876
877 * findsuper.c (main): Print the block group number which is now
878 being written by e2fsprogs.
879
Theodore Ts'o818180c1998-06-27 05:11:14 +00008801998-06-25 Theodore Ts'o <tytso@rsts-11.mit.edu>
881
882 * fsck.c (ignore): Remove unused variable cp.
883
884 * chattr.c (fatal_error):
885 * tune2fs.c (usage):
886 * lsattr.c (usage):
887 * dumpe2fs.c (usage):
888 * badblocks.c (usage): Remove volatile from declaration.
889
890 * fsck.c: Change use of strdup to be string_copy, since we don't
891 trust what glibc is doing with strdup. (Whatever it is,
892 it isn't pretty.)
893
8941998-06-19 Theodore Ts'o <tytso@rsts-11.mit.edu>
895
896 * mke2fs.c (PRS): Add a -V option which prints the version number
897 and exit.
898
Theodore Ts'o4bf5fbf1998-05-14 22:43:10 +00008991998-05-14 Theodore Ts'o <tytso@rsts-11.mit.edu>
900
901 * fsck.c (ignore): Remove check for filesystems with the noauto
902 option.
903
Theodore Ts'o7e44f241998-04-01 03:16:29 +00009041998-03-30 Theodore Ts'o <tytso@rsts-11.mit.edu>
905
906 * Makefile.in: Change to use new installation directory variables
907 convention. Fix uninstall rules to take $(DESTDIR) into
908 account. Remove cat8dir and cat1dir from the installdirs
909 target, since modern man package don't necessarily put the
910 cat directory in /usr/man/cat?.
911
Theodore Ts'oa789d841998-03-30 01:20:55 +00009121998-03-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
913
Theodore Ts'o3b27db91998-03-30 01:32:10 +0000914 * e2label.8.in: New man page to document the e2label function.
915
Theodore Ts'oa789d841998-03-30 01:20:55 +0000916 * e2label.c: Fix -Wall warning by making functions static.
917
9181998-03-28 Theodore Ts'o <tytso@rsts-11.mit.edu>
919
920 * chattr.1.in: Document that the append-only attribute may
921 only be set or cleared by the superuser.
922
923 * Update all manual pages to that the availability section is
924 up-to-date.
925
926 * e2label.8.in, tune2fs.8.in: Update manual page to state that
927 labels must be no longer than 16 characters, or they will
928 be truncated.
929
930 * e2label.c (change_label), tune2fs.c (main): If the label is
931 longer than 16 characters, print a warning message stating
932 that the label will be truncated.
933
934 * mke2fs.c (PRS): If the user specifies a filesystem size, and
935 it's larger than the apparent size of the device, print a
936 warning message and ask if the user wants to proceed.
937
Theodore Ts'obbfa3aa1998-03-21 07:12:46 +00009381998-03-21 Theodore Ts'o <tytso@rsts-11.mit.edu>
939
940 * mke2fs.c (check_plausibility): Fixed spelling typo in warning
941 message. Fixed up -Wall warnings in file.
942
Theodore Ts'oe9271681998-03-09 03:23:51 +0000943Sun Mar 8 22:21:48 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
944
945 * partinfo.c (main): The ioctl BLKGETSIZE requires a long, not an
946 int.
947
Theodore Ts'o92bcc591998-02-16 22:29:34 +0000948Sun Feb 1 16:53:36 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
949
950 * badblocks.8: Update documentation to note that output format
951 of badblocks is suitable for use with e2fsck -l or
952 mke2fs -l.
953
954 * mke2fs.c (handle_bad_blocks): Fix bug so that all groups with
955 bad superblock backup blocks are printed (not just the
956 first one).
957
Theodore Ts'oca8abba1998-01-19 14:55:24 +0000958Mon Dec 1 17:01:04 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
959
960 * badblocks.8.in: Add documentation for the -s option.
961
Theodore Ts'o519149f1997-10-25 03:49:49 +0000962Fri Oct 24 23:37:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
963
964 * fsck.c:
965 * chattr.c: Remove #include of getopt.h, since it's not needed.
966
967 * tune2fs.c (main):
968 * lsattr.c (main):
969 * badblocks.c (main):
970 * dumpe2fs.c (main):
971 * mke2fs.c (PRS): Make the variable which getopt returns into be
972 an int, so that it won't lose on platforms where char is
973 unsigned.
974
Theodore Ts'od163b091997-10-03 17:42:28 +0000975Fri Oct 3 13:38:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
976
977 * mke2fs.c (parse_raid_opts): Make parse_raid_opts return a void,
978 to fix a -Wall warning.
979
Theodore Ts'o00e54331997-09-16 02:13:52 +0000980Mon Sep 15 22:07:12 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
981
982 * tune2fs.c (main):
983 * mklost+found.c (main):
984 * lsattr.c (main):
985 * dumpe2fs.c (main):
986 * chattr.c (main):
987 * badblocks.c (main): Declare main to return an int, as required.
988 Make sure main always ends with an exit(0). (Some
989 programs weren't doing this, and thus were returning a
990 random exit value.)
991
Theodore Ts'oab6b8ab1997-07-14 19:28:55 +0000992Mon Jul 14 15:27:29 1997 Theodore Y. Ts'o <tytso@mit.edu>
993
994 * e2label.c: New file contributed by Andries Brouwer which
995 provides an easy-to-use interface to modify the filesystem
996 label.
997
998 * Makefile.in (SPROGS): Add Makefile support to build e2label
999
Theodore Ts'o024996c1997-06-17 05:38:35 +00001000Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1001
1002 * Release of E2fsprogs 1.11
1003
Theodore Ts'oe22d4611997-06-17 03:57:27 +00001004Mon Jun 16 23:37:54 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1005
1006 * mke2fs.c (show_stats): Adjust the number of columns printed when
1007 displaying the superblock backups to avoid running over
1008 80 columns when making a really big disk.
1009
Theodore Ts'of635d7f1997-05-09 02:50:16 +00001010Thu May 8 22:22:08 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1011
Theodore Ts'o583ccdc1997-05-09 03:06:31 +00001012 * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, fsck.8.in,
1013 mke2fs.8.in, tune2fs.8.in: Fix minor typos and grammer
1014 oops found by Bill Hawes (whawes@star.net).
1015
Theodore Ts'of635d7f1997-05-09 02:50:16 +00001016 * mke2fs.c (test_disk): Pass the blocksize to the bad blocks
1017 command so that all of the filesystem gets tested in the
1018 case where the blocksize 2048 or 4096.
1019
Theodore Ts'oa29f4d31997-04-29 21:26:48 +00001020Thu Apr 24 12:16:42 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1021
1022 * Release of E2fsprogs version 1.10
1023
1024Thu Apr 24 09:52:47 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1025
1026 * mke2fs.c: Added new option -R, which specifies RAID options.
1027 Currently the only supported RAID option is "stride" which
1028 specifies the stripe width in RAID filesystem. This is
1029 used to aid in the placement of the inode and block
1030 bitmaps.
1031
1032 * mke2fs.8.in, tune2fs.8.in: Added warnings that the sparse
1033 superblock option isn't yet supported by most kernels.
1034
1035Wed Apr 23 22:42:51 1997 Theodre Ts'o <tytso@localhost.mit.edu>
1036
1037 * mke2fs.c (PRS): Make the default filesystem revision be 0, not
1038 1. (Since some people are still worried about 1.2.13
1039 compatibility).
1040
1041Thu Apr 17 12:23:38 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1042
1043 * Release of E2fsprogs version 1.09
1044
Theodore Ts'o2ecc6fe1997-04-29 17:57:00 +00001045Fri Apr 11 18:57:24 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1046
1047 * chattr.1.in: Updated man page so that the 'A' attribute is
1048 specified everywhere.
1049
1050 * chattr.c (usage): Added usage message for the 'A' attribute.
1051
1052Fri Apr 11 18:56:26 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1053
1054 * Release of E2fsprogs version 1.08
1055
Theodore Ts'o521e3681997-04-29 17:48:10 +00001056Thu Apr 10 07:08:03 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1057
1058 * dumpe2fs.c (list_desc): List the offsets of the inode and block
1059 bitmaps, and the inode table. List the block boundaries
1060 for the groups.
1061
1062Sat Apr 5 11:55:52 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1063
1064 * tune2fs.c (main): Implement the -s flag allows the user to
1065 set and reset the sparse superblock flag.
1066
1067 * mke2fs.c (PRS): By default generate DYNAMIC revision
1068 filesystems. The -s flag controls whether or not the
1069 sparse superblock flag is set.
1070 (PRS): Change to allow the user to specify the true
1071 maximum number of blocks per group to reflect the
1072 blocksize.
1073
Theodore Ts'o19c78dc1997-04-29 16:17:09 +00001074Wed Mar 12 13:32:05 1997 Theodore Y. Ts'o <tytso@mit.edu>
1075
1076 * Release of E2fsprogs version 1.07
1077
1078Thu Mar 6 17:15:05 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1079
1080 * mke2fs.c (create_root_dir): Set the root directory's i_uid and
1081 i_gid to be the real user and group id.
1082
1083Tue Mar 4 10:14:33 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1084
1085 * mke2fs.c (check_plausibility): Add more intelligent error
1086 messages when the device doesn't exist.
1087
1088Sat Mar 1 10:43:32 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1089
1090 * fsck.c (main): Fix bug where the PATH environment variable isn't
1091 set when it is unset.
1092
1093Tue Jan 14 12:30:45 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1094
1095 * mke2fs.c (write_inode_tables): Fixed bug in write_inode_tables
1096 where a loop variable was getting reused in a nested loop.
1097 This caused the inode table to not be correctly
1098 initialized.
1099
1100Thu Jan 2 00:00:37 1997 Theodore Ts'o <tytso@rsts-11.mit.edu>
1101
1102 * lsattr.c, chattr.c: Include string.h, since we use memcpy().
1103
1104 * findsuper.c: Use time_t for ctime(), not __u32.
1105
1106Sat Dec 28 23:39:18 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1107
1108 * badblocks.c: Adapted -vv modifications from Rik Faith so that
1109 they frequently update the block number field.
1110
1111 * badblocks.8.in: Document the optional start-block parameter
1112
1113Mon Oct 14 11:52:58 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1114
1115 * mke2fs.c: Updated to use new ext2fs_allocate_tables() function.
1116
1117Tue Oct 8 02:02:03 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1118
1119 * Release of E2fsprogs version 1.06
1120
Theodore Ts'o5c576471997-04-29 15:29:49 +00001121Mon Oct 7 00:56:24 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1122
1123 * chattr.1.in: Documented the 'A' (noatime) attribute.
1124
1125 * dumpe2fs.c (main): Change EXT2_SWAP to EXT2_FLAG_SWAP for
1126 consistency's sake.
1127
1128Sun Sep 22 16:18:47 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1129
1130 * chattr.c (decode_arg): Add support for the 'A' (noatime) flag.
1131
1132Thu Sep 12 15:23:07 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1133
1134 * Release of E2fsprogs version 1.05
1135
Theodore Ts'o1e3472c1997-04-29 14:53:37 +00001136Sat Sep 7 07:34:11 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1137
1138 * tune2fs.c (main): Add support for new option -C, which sets the
1139 current number of mounts.
1140 (main): Allow the interval to be specified in seconds,
1141 mostly for debugging.
1142
1143Tue Aug 27 17:27:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
1144
1145 * Makefile.in (SMANPAGES): Use @FSCK_MAN@ instead of fsck.8.
1146 (SPROGS): Use @FSCK_PROG@ instead of fsck.
1147
1148Thu Aug 22 00:51:44 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1149
1150 * mke2fs.c (zap_bootblock): Don't do zap_bootblock on a
1151 sparc.
1152
1153Tue Aug 20 00:15:46 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1154
1155 * chattr.c (main): Fixed bug so that chattr -v works. (Bug report
1156 and fix sent by Charles Howes, chowes@eznet.ca)
1157
1158Fri Aug 9 11:52:42 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1159
1160 * tune2fs.8.in:
1161 * tune2fs.c: Added support for the -L option which sets the volume
1162 label, the -M option which sets the last mounted
1163 directory, and the -U option which sets the filesystem UUID.
1164
1165 * mke2fs.8.in:
1166 * mke2fs.c: Added support for the -o option, which overrides the
1167 creator OS. Generate a UUID for the filesystem, if
1168 applicable. Added support for the -L option which sets
1169 the volume label, and the -M option which sets the last
1170 mounted directory.
1171
1172Sat Jun 22 17:43:17 1996 Remy Card <card@bbj.linux.eu.org>
1173
1174 * chattr.c (decode_arg): Integrated Michael Nonweiler's fix to
1175 avoid a segmentation fault when the "-v" option is used
1176 and no version number is specified.
1177
Theodore Ts'o62c06f71997-04-29 14:34:47 +00001178Thu May 16 11:12:30 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1179
1180 * Release of E2fsprogs version 1.04
1181
1182Wed May 15 21:15:43 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
1183
1184 * Makefile.in (fsck): fsck doesn't need to be linked with the ext2
1185 libraries.
1186
Theodore Ts'o7f88b041997-04-26 14:48:50 +00001187Wed Mar 27 00:33:40 1996 <tytso@rsts-11.mit.edu>
1188
1189 * Release of E2fsprogs version 1.03
1190
1191Thu Mar 7 03:43:20 1996 <tytso@rsts-11.mit.edu>
1192
1193 * mke2fs.c (PRS): Add (for development only) support to
1194 specify revision and inode size of the new filesystem.
1195
1196Tue Mar 5 03:51:35 1996 <tytso@rsts-11.mit.edu>
1197
1198 * mke2fs.8.in: Fix a few minor typo's in the man page.
1199
1200 * mke2fs.c (reserve_inodes): Add support for dynamic first inode
1201 revision.
1202
1203Mon Feb 5 22:19:49 1996 <tytso@rsts-11.mit.edu>
1204
1205 * fsck.c (check_all, PRS): Added new flag -P, which turns on the
1206 parallel root option. This allows you to check the root
1207 filesystem in parallel with the other filesystems. Note
1208 that this is not the safest thing in the world to do,
1209 since if the root filesystem is in doubt things like
1210 the e2fsck executable might be corrupted! But some
1211 sysadmins, who don't want to repartition the root
1212 filesystem to be small and compact, may really want this
1213 option turned on.
1214
Theodore Ts'o74becf31997-04-26 14:37:06 +00001215Wed Jan 31 11:06:08 1996 <tytso@rsts-11.mit.edu>
1216
1217 * Release of E2fsprogs version 1.02
1218
1219Tue Oct 30 21:14:12 1995 <tytso@rsts-11.mit.edu>
1220
1221 * mke2fs.c (check_plausibility): Add check to warn user if they
1222 are trying to mke2fs the whole disk. (/dev/hda
1223 vs. /dev/hda1)
1224
1225Fri Dec 15 19:09:56 1995 <tytso@rsts-11.mit.edu>
1226
1227 * fsck.c (check_all): If we break out of the loop because we are
1228 serializing and have just started at fsck we haven't
1229 finished the pass. We need to go round again in case there
1230 are more filesystems to be done in this pass. (Patch
1231 submitted by Mike Jagdis)
1232
1233Sat Dec 9 10:07:16 1995 <tytso@rsts-11.mit.edu>
1234
1235 * dumpe2fs.c (in_use): test_bit() was renamed to
1236 ext2fs_test_bit().
1237
Theodore Ts'o297f47a1997-04-26 14:25:20 +00001238Mon Oct 30 20:21:18 1995 <tytso@rsts-11.mit.edu>
1239
1240 * fsck.c (fsck_device): Check fstype instead of type; this was a
1241 stupid typo which caused coredumps in some cases.
1242
Theodore Ts'oa418d3a1997-04-26 14:00:26 +00001243Thu Oct 26 12:05:18 1995 <tytso@rsts-11.mit.edu>
1244
1245 * Makefile.in (install): Strip programs when they are installed.
1246
1247Fri Aug 18 15:10:40 1995 Theodore Y. Ts'o <tytso@dcl>
1248
1249 * mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
1250 so we do the check to see if the filesystem is mounted
1251 *before* we try to determine the size of the device.
1252
1253Wed Sep 6 23:34:07 1995 Remy Card <card@bbj>
1254
1255 * fsck.c (load_fs_info): Load the informations from /etc/fstab in
1256 the same order.
1257
1258Thu Aug 17 22:33:09 1995 <tytso@rsts-11.mit.edu>
1259
1260 * mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
1261 function to determine if the device is mounted.
1262
1263 * mke2fs.c (PRS): Change call to use the new
1264 ext2fs_get_device_size() function in order to determine
1265 the size of the filesystem. Remove get_size() and
1266 is_valid_offset(), which are no longer called.
1267
1268Fri Aug 11 08:26:24 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1269
1270 * fsck.c (fsck_device): Make sure fstype has been set by the user
1271 and that it does not begin with "no" and the user has
1272 specified exactly one type before using it as the type to
1273 check.
1274
1275Fri Aug 11 14:17:18 1995 Remy Card <card@bbj>
1276
1277 * badblocks.8:
1278 * chattr.1:
1279 * dumpe2fs.8:
1280 * fsck.8:
1281 * lsattr.1:
1282 * mke2fs.8:
1283 * mklost+found.8:
1284 * tune2fs.8: Updated date and version number.
1285
1286Thu Aug 10 14:18:36 1995 Remy Card <card@bbj>
1287
1288 * tune2fs.c: Fixed a bug which prevented the use of user and group
1289 names with the -g and -u options. Thanks to Jean Christophe
1290 ANDRE <progfou@mycrob.cafard.freenix.fr>.
1291
1292 * mke2fs.8:
1293 * tune2fs.8: Fixed a spelling error in Ted's name :-)
1294
1295Wed Aug 9 20:41:54 1995 Theodore Y. Ts'o <tytso@dcl>
1296
1297 * mke2fs.c (count_blocks): Divide the size by
1298 EXT2_BLOCK_SIZE(&param), instead of assuming that the
1299 blocksize is always 1024 bytes.
1300
1301Sat Aug 5 12:00:51 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1302
1303 * mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
1304 not portable!! In any case putenv() in some systems must
1305 take a static character array or malloc()'ed memory;
1306 passing memory allocated using alloca() to putenv() is not
1307 advisable.
1308
1309 * chattr.c (chattr_dir_proc):
1310 * lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
1311 alloca is not portable!
1312
1313 * fsck.c (fsck_device): If the filesystem type is specified by the
1314 user using the -t option, let it override the type in
1315 /etc/fstab.
1316
1317 * fsck.c (strdup): Don't build strdup() if the system defines it.
1318
1319Mon Jun 12 19:15:10 1995 Theodore Y. Ts'o (tytso@dcl)
1320
1321 * chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
1322 benefit.
1323
1324 * The $(UPROGS) go in bin, not sbin.
1325
1326 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1327 tune2fs.c: Don't include <getopt.h> if it doesn't exist.
1328
1329Mon Jun 12 16:36:04 1995 Theodore Y. Ts'o <tytso@dcl>
1330
1331 * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
1332 tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
1333
1334Sat Jun 10 23:37:09 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
1335
1336 * chattr.c: Include errno.h, since we use errno
1337
1338 * fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
1339 explicitly initialize filesys_info to be NULL.
1340
1341 * mke2fs.c: Include the stdio.h and errno.h header files
1342
1343Thu Jun 8 13:25:23 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
1344
1345 * mke2fs.c: Only include <linux/fs.h> if we can.
1346 (get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
1347 (check_mount): Only check to see if the device is mounted if
1348 HAVE_MNTENT_H is defined (by configure).
1349
1350 * fsck.c (load_fs_info): Only try to get info about filesystems if
1351 HAVE_MNTENT_H is defined (by configure).
1352 (main): Allocate space for a new fsck_path instead of append to a
1353 statically sized buffer.
1354 (PRS): Use alloca to allocate the new path string, instead of
1355 having a fixed size buffer (which was the wrong size anyway).
1356
1357 * chattr.c (chattr_dir_proc): Use alloca to allocate space for a
1358 filename instead of using a fixed-size buffer.
1359 * lsattr.c (lsattr_dir_proc): Ditto.
1360 * mklost+fond.c (main): Calculate the actual needed size for the
1361 path buffer instead of using MAXPATHLEN (which not all systems have).
1362
1363 * badblocks.c: Only include linux include files if we have them.
1364 (flush_bufs): New function to flush a block device, optionally
1365 syncing it first. This replaces other copies of this code.
1366 (test_ro): Replace calls to ioctl with flush_bufs().
1367 (test_rw): Ditto.
1368
1369 * Makefile.in: Rewritten to conform to GNU coding standards and
1370 support separate compilation directories.
1371
Theodore Ts'of3db3561997-04-26 13:34:30 +00001372Sat Mar 11 10:59:58 1995 Theodore Y. Ts'o <tytso@localhost>
1373
1374 * mke2fs.c (main, zap_bootblock): Added new function
1375 zap_bootblock() which clears the first 512 bytes of the
1376 filesystem. This protects the filesystem from being
1377 misidentified as a MS-DOS FAT filesystem.
1378
1379 * badblocks.c (alarm_intr, test_ro, test_rw): Increase the space
1380 allocated for printing the block numbers, so that the
1381 display doesn't get corrupted when running badblocks on a
1382 very large partition.
1383
1384 * badblocks.c (do_test, test_ro, test_rw): Added missing cast to
1385 ext2_loff_t, so that when checking a large device,
1386 spurious seek errors aren't reported.
1387
1388 * mke2fs.c (count_blocks): Declare mid to be of type ext2_loff_t
1389 instead of type int, so that it works for filesystems
1390 greater than 2 GB. (Fortunately count_blocks is only
1391 called if the device does not support the BLKGETSIZE
1392 ioctl, which most do.)
1393
1394 * fsck.c (ignore): Add check to ignore filesystems with a pass
1395 number of zero. (This check was accidentally deleted at
1396 during 0.5b development.)
1397
1398Sat Dec 31 00:47:16 1994 <tytso@rsx-11.mit.edu>
1399
1400 * mke2fs.c (new_table_block, alloc_tables, PRS, main): Add a new
1401 option, -S, which only writes the superblock and group
1402 descriptors. Useful for recovering when all of the
1403 superblocks are corrupted somehow (as a last ditch
1404 measure).
1405
1406 Also, don't bother initializing the bitmap blocks in
1407 alloc_tables(), since they will be overwritten at the end
1408 anyway. (Should speed up mke2fs by a little.)
1409
1410Tue Dec 6 02:20:55 1994 <tytso@rsx-11.mit.edu>
1411
1412 * fsck.c (main): Fix stupid typo where a null inst would be freed.
1413
1414 * fsck.c (wait_one): Check WIFEXITED on status before trying to
1415 extract the exit status. In other cases, return
1416 FSCK_ERROR if the back end processor exited with a signal.
1417
1418Tue Nov 15 10:20:00 1994 Remy Card <card@bbj>
1419
1420 * tune2fs.c (main): Fixed a bug which prevented the use of the
1421 new options.
1422 Added the `w' (week) suffix recognition in the check interval.
1423
1424Sun Nov 13 15:58:48 1994 (tytso@rsx-11)
1425
1426 * fsck.c (load_fs_info): If the user has an obviously old
1427 /etc/fstab file, issue a warning message and assume that
1428 all partitions should be checked.
1429
1430Sat Nov 12 00:33:18 1994 (tytso@rsx-11)
1431
1432 * dumpe2fs.c (list_desc): Update to new inode and block bitmap
1433 structures.
1434
1435 * mke2fs.c (create_root_dir): Create the root directory owned by
1436 the effective uid.
1437
1438Mon Nov 7 22:04:37 1994 Remy Card <card@bbj>
1439
1440 * tune2fs.c (main.c): Added support for new options:
1441 -r reserved_blocks_count, -g reserved_gid, -u reserved_uid.
1442
1443Sun Aug 21 00:57:33 1994 Theodore Y. Ts'o (tytso@rt-11)
1444
1445 * fsck.c (ignore): If the pass number is 0, ignore the filesystem.
1446
1447Wed Aug 17 21:55:03 1994 Remy Card (card@bbj)
1448
1449 * badblocks.c (test_rw): Added verbose output like in the
1450 read-only test.
1451
1452 (do_test and test_rw): Use the llseek system call if available.
1453
1454 * chattr.c: Added support for new attributes.
1455
1456 * lsattr.c: Added support for long format.
1457
1458 * mke2fs.c (usage): Fixed bogus usage message.
1459
1460 (valid_offset): Use the llseek system call if available.
1461
1462Wed Aug 17 10:50:57 1994 Theodore Y. Ts'o (tytso@rt-11)
1463
1464 * mke2fs.c (handle_bad_blocks): Check to see if a bad block is
1465 where a backup superblock/group descriptor is stored. If so,
1466 print a warning message and adjust the superblock counts so that
1467 they are correct. (Otherwise, the bad block will get counted
1468 twice and the # of free blocks count will be wrong.)
1469
1470 (alloc_tables): Removed code which calcualated the free block
1471 statistics, which was moved to lib/ext2fs/initialize.c. This
1472 allows the bad block code to adjust the group descriptor
1473 statistics if necessary.