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