Whamcloud - gitweb
badblocks.c, badblocks.8.in: Functional enhancements contributed
[tools/e2fsprogs.git] / misc / ChangeLog
1 2003-05-07  Theodore Ts'o  <tytso@mit.edu>
2
3         * badblocks.c (test_rw): Fix minor memory leak with test_rw() is
4                 called for multiple passes.
5                 (test_nd): Fix bug in chosing randomness for the
6                 non-destructive test.  We were only using 1 bit of
7                 randomness per byte instead of 8 due to a bit-shift bug.
8                 Also, initialize the random number generator from the time
9                 in main().  Thanks to Thayne Harbaugh for pointing out
10                 these bugs.
11
12         * badblocks.c, badblocks.8.in: Functional enhancements contributed
13                 by Thayne Harbaugh.  These patches allow the -t option to
14                 control the test pattern(s) used when checking the disk.
15                 Test patterns may be specified in all modes (r/w, r/o and
16                 non-destructive).
17
18 2003-05-05  Theodore Ts'o  <tytso@mit.edu>
19
20         * tune2fs.c (main, add_journal_device, remove_journal_device): If
21                 --enable-testio-debug is set, then use the test_io manager
22                 so we can watch what tune2fs is doing.
23
24 2003-05-03  Theodore Ts'o  <tytso@mit.edu>
25
26         * uuidgen.c (main): Add setup functions for NLS support.
27
28         * e2image.c (write_header), mke2fs.c (PRS): Add missing space in
29                 displayed message.
30
31         * badblocks.c (usage), findsuper.c (main), util.c
32                 (parse_journal_opts): Fix typo in usage string.
33
34         * tune2fs.c (parse_time): Add portability code to work around lack
35                 of strptime().
36
37         * Makefile.in: Add $(LIBINTL) to the link line so we can support
38                 using the internal gettext library.
39
40         * nls-enable.h: Add #ifndef protection around LOCALEDIR definition.
41
42 2003-04-21  Theodore Ts'o  <tytso@mit.edu>
43
44         * Release of E2fsprogs 1.33
45
46 2003-04-18  Theodore Ts'o  <tytso@mit.edu>
47
48         * Makefile.in (uuidgen): Avoid linking lsattr and chattr against
49                 libext2fs, and avoid linking blkid against any of the ext2
50                 libraries.
51
52 2003-04-17  Theodore Ts'o  <tytso@mit.edu>
53
54         * Makefile.in (fsck): Fsck does not need to linked against the
55                 ext2 libraries anymore.
56
57 2003-04-16  Theodore Ts'o  <tytso@mit.edu>
58
59         * fsck.c (main): Put stdout and stderr into non-buffered mode to
60                 avoid cosmetic problems when running fsck under logsave.
61
62         * mke2fs.c (PRS): Avoid printing the version banner for mke2fs if
63                 the -q option is specified.  (Addresses Debian bug #172716) 
64
65         * logsave.c: Add support for the -a option (only partially
66                 implemented previously).  Always log the command-line and
67                 start and stop time to the log file.  Add support for the
68                 -s option, which skips text bracketed between control-A
69                 and control-B characters.
70
71 2003-04-14  Theodore Ts'o  <tytso@mit.edu>
72
73         * logsave.c: New program which saves the output of a command in a
74                 log file, even if the containing directory hasn't been
75                 mounted yet (in which case the it saves the output in
76                 memory until it can write out the logfile).
77
78 2003-04-11  Theodore Ts'o  <tytso@mit.edu>
79
80         * mke2fs.c (PRS): If the argument to -b is negative, treat it as a
81                 minimum blocksize.  (Feature requested by EVMS developers
82                 for mainframe DASD's that do not support 1k blocksizes.)
83
84         * mke2fs.8.in: Document the -g option.  (Addresses Debian bug #188318)
85
86         * mke2fs.c (PRS): Fix bug where mke2fs was incorrectly checking
87                 the argument to the -g option, if the default block size
88                 is used.  (Addresses Debian bug #188319)
89
90         * tune2fs.8.in, mke2fs.8.in: Document the dir_index filesystem
91                 feature which can be used with the -O option.
92
93 2003-04-06  Theodore Ts'o  <tytso@mit.edu>
94
95         * fsck.c (parse_fstab_line, interpret_type, fsck_device, ignore,
96                 main): Don't evaluate the filesystem type when loading the
97                 fstab file, since that might cause fsck to hang trying to
98                 read from a floppy disk.  (Addresses Debian bug #187812)
99                 Add tmpfs and devpts to filesystems that should be
100                 ignored, and add jfs, reseirfs, and xfs as filesystems
101                 types where we should complain if we can't find the fsck
102                 program for that filesystem type.
103
104 2003-04-03  Theodore Ts'o  <tytso@mit.edu>
105
106         * badblocks.c (bb_output): Flush output to the badblocks
107                 output file as bad blocks are discovered.
108
109 2003-03-25  Theodore Ts'o  <tytso@mit.edu>
110
111         * chattr.1.in: Clarified the description of the 't' (no tail) 
112                 attribute.  (Addresses Debian bug #185945)
113
114 2003-03-14  Theodore Ts'o  <tytso@mit.edu>
115
116         * fsck.c: And #ifdef protection around #include of malloc.h
117
118 2003-03-13  Theodore Ts'o  <tytso@mit.edu>
119
120         * e2image.c (write_raw_image_file): Include blocks from slow
121                 symbolic links in the raw image file.
122
123 2003-03-06    <tytso@mit.edu>
124
125         * tune2fs.c (parse_tune2fs_options, parse_e2label_options): Allow
126                 the device name to be specified using LABEL=xxx or
127                 UUID=xxx, since we're including the blkid library anyway.
128                 (Addresses Debian bugs #166048, #179671)
129
130         * tune2fs.8.in, chattr.1.in: Minor man page fixes (Addresses
131                 Debian bugs #175233, #175113, and #170497)
132
133 2003-03-06  Theodore Tso  <tytso@mit.edu>
134
135         * Makefile.in (DEPLIBS_BLKID): Use DEPLIBUUID, not LIBUUID to
136                 avoid depending on -lsocket on Solaris.
137
138 2003-03-01  Theodore Ts'o  <tytso@mit.edu>
139
140         * fsck.c, util.c, tune2fs.c, Makefile.in: Use the blkid library
141                 instead of the specialized functions in
142                 get-device-by-label.c and fstype.c.
143
144         * base_device.c (base_device): Take a const char* as an argument.
145
146         * blkid.c: Remove deprecated -d option,
147
148 2003-02-16  Theodore Ts'o  <tytso@mit.edu>
149
150         * blkid.c: Update to reflect renaming of blkid_get_devname() to
151                 blkid_get_dev(), and blkid_get_token() to
152                 blkid_get_devname().
153
154 2003-01-29  Theodore Ts'o  <tytso@mit.edu>
155
156         * badblocks.8.in: Fix grammar nit.
157
158 2003-01-26  Theodore Ts'o  <tytso@mit.edu>
159
160         * blkid.c (main): Modify blkid to use the new libblkid public
161                 interfaces.
162
163 2003-01-23  Theodore Ts'o  <tytso@mit.edu>
164
165         * Makefile.in: Integrate in new blkid library.
166
167 2003-01-22  Theodore Ts'o  <tytso@mit.edu>
168
169         * fsck.c (parse_fstab_line, parse_escape): Add support for
170                 backslash escaping in /etc/fstab.  (i.e., so that \040
171                 will work.)
172
173 2002-11-12  Theodore Ts'o  <tytso@mit.edu>
174
175         * mke2fs.c (PRS): Don't enable the dir_index feature by default;
176                 the ext2 code on 2.4 kernels (but not 2.2 kernels, and not
177                 the 2.4 ext3 code) accidentally had the backwards
178                 compatibility support for dir_indexing removed.
179
180 2002-11-09  Theodore Ts'o  <tytso@mit.edu>
181
182         * Release of E2fsprogs 1.32
183
184 2002-11-08  Theodore Ts'o  <tytso@mit.edu>
185
186         * Release of E2fsprogs 1.31
187
188 2002-11-08  Theodore Ts'o  <tytso@mit.edu>
189
190         * chattr.1.in: Update man page.
191
192 2002-10-31  Theodore Ts'o  <tytso@mit.edu>
193
194         * Release of E2fsprogs 1.30
195
196 2002-11-01  Theodore Ts'o  <tytso@mit.edu>
197
198         * chattr.c, chattr.1.in: Add support for a new inode flag, which
199                 is to be used for indicating the top of directory
200                 hierarchies for the Orlov block allocator.
201
202 2002-10-31  Theodore Ts'o  <tytso@mit.edu>
203
204         * get_device_by_label.c (read_partitions): Pay attention to
205                 partitions returned in /proc/partitions that begin with
206                 with the string "lvm".
207
208 2002-10-30  Theodore Ts'o  <tytso@mit.edu>
209
210         * Makefile.in (install): Search all compression extensions when
211                 deleting old man pages.
212
213         * dumpe2fs.c (list_desc): Fix bug in algorithm which determined
214                 which blocks are used as backup superblock and block group
215                 descriptors.
216
217         * mke2fs.c (PRS): Fix bug which checked the tmp pointer
218                 erreoneously (and needlessly).
219
220 2002-10-28    <tytso@snap.thunk.org>
221
222         * fsck.c (main): Fix bug reported by Gregory Mutt.  Multiple
223                 filesystems explicitly specified on the command line were
224                 not being checked in parallel, due to a logic bug
225                 introduced in to support the FSCK_MAX_INST environment
226                 variable.
227
228 2002-10-25  Theodore Ts'o  <tytso@mit.edu>
229
230         * dumpe2fs.c (list_desc, main): Make dumpe2fs more robust so that
231                 if there is an error reading the block/inode bitmaps, it
232                 will still print out the contents of the block group
233                 descriptors.
234
235 2002-10-20  Theodore Ts'o  <tytso@valinux.com>
236
237         * dumpe2fs.c (list_desc), mke2fs.c (PRS), e2image.c
238                 (mark_table_blocks): Add support for the meta_blockgroup
239                 filesystem format.
240
241 2002-10-15    <tytso@snap.thunk.org>
242
243         * tune2fs.8.in, tune2fs.c (update_mntopts, main): Add new option
244                 'o' which allows the system administrator to specify
245                 default mount options.
246
247 2002-10-13  Theodore Ts'o  <tytso@mit.edu>
248
249         * get_device_by_label.c (read_partitions): Use a 16k buffer to
250                 read in /proc/partitions in one go.
251
252         * badblocks.c, fsck.c, fstype.c, get_device_by_label.c, 
253                 tune2fs.c: Fix gcc -Wall nits.
254
255 2002-10-11  Theodore Ts'o  <tytso@mit.edu>
256
257         * mklost+found.c (main): Make sure the lost+found directory is
258                 created with 0700 permissions.
259
260 2002-10-02  Theodore Ts'o  <tytso@mit.edu>
261
262         * e2image.c (write_raw_image_file): Handle a bad block in the
263                 inode table correctly.
264
265 2002-09-29  Theodore Ts'o  <tytso@mit.edu>
266
267         * get_device_by_label.c: Applied sourceforge patch #613447, which
268                 adds support for reiserfs volumes for LABEL= and UUID=
269                 fstab entries.
270
271         * badblocks.c (main): Appled sourceforge patch #600451, which
272                 addresses sourceforge bug #600388, by AEF.  This allows
273                 badblocks to work correctly on read-only devices such as
274                 CD-ROM's, DVD's, etc.
275
276 2002-09-24  Theodore Ts'o  <tytso@mit.edu>
277
278         * mke2fs.8.in, tune2fs.8.in: Clarify manual pages about using the
279                 caret ('^') character to negate feature sets when using
280                 the -O option.  Define the has_journal feature to avoid
281                 confusion about what ^has_journal means.
282
283 2001-09-24  Theodore Tso  <tytso@mit.edu>
284
285         * Release of E2fsprogs 1.29
286
287 2002-09-24  Theodore Ts'o  <tytso@mit.edu>
288
289         * fsck.c: If the bone-headed user enters the filename twice, the
290                 -R option which skips the root filesystem will skip all of
291                 them.  (Addresses Debian bug #159423).  Note!  This is not
292                 a precedent for dealing intelligently with any other kind
293                 of doubled entry in /etc/fstab!
294
295 2002-09-22  root  <tytso@mit.edu>
296
297         * mke2fs.c (main): Enable directory indexing by default.
298
299         * tune2fs.c (update_feature_set): Allow directory indexing flag to
300                 be set.  If so, set the default hash to be TEA, and
301                 initialize the hash seed to a random value.
302
303 2002-09-21  Theodore Ts'o  <tytso@mit.edu>
304
305         * get_device_by_label.c (init_lvm): Fix bug which caused
306                 LABEL='xxx' to not work correctly when using LVM.
307                 (Reversed sense of error check reported by ateeq@hotpop.com)
308
309 2001-08-31  Theodore Tso  <tytso@thunk.org>
310
311         * Release of E2fsprogs 1.28
312
313 2002-08-17  Theodore Ts'o  <tytso@mit.edu>
314
315         * findfs.8.in: New man page.
316
317         * tune2fs.c (do_findfs): If tune2fs is executed with argv[0] set
318                 to findfs, then it will interpret argv[1] as one of
319                 LABEL=xxx or UUID=xxx and translate it to a device name.
320
321         * get_device_by_label.c (uuidcache_init): Moved code which
322                 interpreted /proc/partitions into read_partitions(), and
323                 then added support for interpreting /proc/evms/volumes in
324                 read_evms().  uuidcache_init() calls both read_evms() and
325                 read_partitions().
326
327         * mke2fs.8.in: Add a common usage of the -n option.  (Addresses
328                 Debian Bug #146437)
329
330         * fsck.c (main): If no filesystems are specified on the command
331                 line, default to -As.  (Addresses Debian Bug #153102)
332
333         * badblocks.8.in: Clarify why it's bad to do a non-destructive
334                 test on a r/o mounted filesystem.  (Addresses Debian Bug
335                 #131350)
336
337         * chattr.1.in: Document the compression attribute flags E, X, and
338                 Z, and explain that chattr can't set or set these flags.
339                 (Addresses Debian Bug #151990)
340
341         * fsck.8.in: Fix typo in man page, and clarified text regarding
342                 options specifiers for -t option.  (Addresses Debian bug 
343                 #145044)
344
345         * mke2fs.c (main): If there is a problem zeroing blocks at the end
346                 of the filesystem, don't abort mke2fs.  Addresses Debian
347                 bug #155007.
348
349 2002-08-16  Theodore Ts'o  <tytso@mit.edu>
350
351         * e2image.c (write_raw_image_file): Check for an extended
352                 attribute block before checking for has_valid_blocks.
353
354 2002-07-21  Theodore Ts'o  <tytso@mit.edu>
355
356         * fsck.8.in: Document new fsck exit code, FSCK_CANCELED.
357
358         * fsck.c: Trap SIGINT and SIGTERM, and relay it to all of the
359                 child fsck processes.
360
361 2002-07-14  Theodore Ts'o  <tytso@mit.edu>
362
363         * mke2fs.c (zap_sector): Clear the buffer *after* testing for the
364                 BSD sector label.  Otherwise the first 512 bytes don't get
365                 zapped.  (Addresses Debian bug #147256.)
366
367 2002-07-02  Theodore Ts'o  <tytso@mit.edu>
368
369         * mke2fs.8.in: Cleaned up man page, and made it a bit more
370                 OS-agnostic.  Addresses Debian bug #144621.  Hope this
371                 makes the Hurd whiners happy.  :-)
372
373 2002-06-28  Theodore Ts'o  <tytso@mit.edu>
374
375         * chattr.1.in: Fix man page typo.  (Addresses Debian bug #141938)
376
377 2002-06-15  Theodore Ts'o  <tytso@mit.edu>
378
379         * chattr.c: Applied patch from Andrew to support the dirsync flag.
380
381 2002-05-22  Andreas Dilger <adilger@clusterfs.com>
382
383         * mke2fs.c (set_fs_defaults): make the default inode ratio at most
384                 one inode per block for large blocksizes.
385
386 2002-05-17  Theodore Ts'o  <tytso@mit.edu>
387
388         * mke2fs.c (PRS): Determine the page size using sysconf() at
389                 runtime, instead of using the Linux system header files.
390
391 2002-05-16  Andreas Dilger <adilger@clusterfs.com>
392
393         * mke2fs.c (PRS): Allow blocksizes larger than 4k to be specified,
394                 with warning printed and the user questioned if blocksize
395                 is larger than the system's page size according to the
396                 Linux kernel header files.  Added better checking for
397                 valid inode sizes, and again print a warning message if
398                 using a large inode size (since most kernels today don't
399                 support this yet).
400         
401 2002-04-30  Theodore Ts'o  <tytso@mit.edu>
402
403         * fsck.8.in: Fix typo in man page.
404
405 2002-03-08  Theodore Tso  <tytso@mit.edu>
406
407         * Release of E2fsprogs 1.27
408
409 2002-03-08  Theodore Tso  <tytso@mit.edu>
410
411         * mke2fs.c: Check for the BSD disklabel on all architectures, and
412                 also check the byte-swapped magic number as well.
413
414 2002-03-07  Theodore Tso  <tytso@mit.edu>
415
416         * mke2fs.c: Output warnings to stderr 
417                 (From Philipp Thomas <pthomas@suse.de>)
418
419         * base_device.c (main): Fix gcc -Wall complaints in debug code.
420
421         * mke2fs.c (zap_sector): Don't erase BSD disklabels on Alpha.
422                 (From Thorsten Kukuk <kukuk@suse.de>)
423
424 2002-03-04  Philipp Thomas  <pthomas@suse.de>
425
426         * chattr.c (main), fsck.c (main), mke2fs.c (main), findsuper.c
427                 (main), dumpe2fs.c (main), lsattr.c (main), partinfo.c (main),
428                 tune2fs.c (main), mklost+found.c (main), badblocks.c
429                 (main), e2image.c (main): Newer libintl needs LC_CTYPE to
430                 be set in addition to LC_MESSAGES.
431
432 2002-02-25  Andreas Dilger  <adilger@clusterfs.com>
433
434         * mke2fs.c: Add check for mkfs.ext3 and create a journal in
435                 this case.
436
437 2002-02-24  Theodore Tso  <tytso@mit.edu>
438
439         * Makefile.in (install): Install hard links for man pages for
440                 mkfs.ext2 and mkfs.ext3.  Also install hard link for
441                 mkfs.ext3.  Remove any compressed man pages before
442                 installing the man pages.
443
444 2002-02-23  Theodore Tso  <tytso@mit.edu>
445
446         * badblocks.8.in: Clarify man page's description of the -f option
447
448 2002-02-12  Theodore Tso  <tytso@mit.edu>
449
450         * get_device_by_label.c: Since on non-STDC compilers, we define
451                 away const, include get_device_by_label.h after we include
452                 fsck.h.
453
454         * Makefile.in (base_device): Remove use of $<, which is
455                 non-portable.
456
457 2002-02-03  Theodore Tso  <tytso@thunk.org>
458
459         * Release of E2fsprogs 1.26
460
461 2002-02-03  Theodore Tso  <tytso@mit.edu>
462
463         * fsck.c (interpret_type): Allow filesystems types of the form
464                 "ext3,ext2", etc.
465
466         * fstype.c (identify_fs): Add support for only searching for a
467                 specified list of filesystems.  Also add support for
468                 identifying reiserfs filesystems.
469
470 2002-01-29  Theodore Tso  <tytso@mit.edu>
471
472         * fsck.c: Allow the number of outstanding processes fs-specific
473                 fsck programs to be capped via the FSCK_MAX_INST
474                 envrionment variable.
475
476         * fsck.8.in: Document all of the environment variables used by fsck.
477
478 2002-01-27  Theodore Tso  <tytso@mit.edu>
479
480         * tune2fs.8.in: Document the -f flag to tune2fs.
481
482 2002-01-02  Theodore Tso  <tytso@mit.edu>
483
484         * badblocks.c (main): Open the device as O_RDWR if possible, since
485                 fsync() isn't guaranteed to work if the filesystem is
486                 opened read-only.
487
488 2001-12-26  Theodore Tso  <tytso@mit.edu>
489
490         * tune2fs.8.in, tune2fs.c (parse_tune2fs_options, main): Add
491                 support for new option, -T, which allows the user to set
492                 the last checked time on the filesystem.
493
494 2001-12-24  Theodore Tso  <tytso@mit.edu>
495
496         * mke2fs.c (main, test_disk): If two -c options are
497                 specified, then perform a destructive read/write test
498                 of the disk.
499
500         * mke2fs.8.in: Document the double -c option; also encourage users
501                 to use -c instead of the -l/-L options since it's too hard
502                 for users to get things like the blocksize parameter correct.
503
504         * badblocks.8.in: Encourage users to use the -c option in mke2fs
505                 and e2fsck instead of running badblocks directly.
506
507         * mke2fs.c (create_lost_and_found): The lost+found directory is
508                 now created with 0700 permissions, since files which get
509                 dropped into that directory may have come from a protected
510                 directory, and the system administrator may not deal with
511                 immediately.  (Addresses Debian bug #118443)
512
513 2001-12-23  Theodore Tso  <tytso@mit.edu>
514
515         * Makefile.in, jfs_user.h: Move linux/jbd.h to
516                 ext2fs/kernel-jbd.h, to avoid using the system header
517                 file version of hbd.h when using diet glibc (since it
518                 forcibly adds /usr/include to the beginning of the
519                 include search path.)
520
521 2001-12-22  Theodore Tso  <tytso@mit.edu>
522
523         * get_device_by_label.c (init_lvm): Add support to read out
524                 information from the LVM proc hierarchy, so that the UUID
525                 cache can search the LVM logical volumes for UUID's,
526                 labels, etc.
527
528 2001-12-21  Theodore Tso  <tytso@mit.edu>
529
530         * dumpe2fs.c (list_bad_blocks): Change to not die if the listing
531                 of the bad blocks can't be found.  Slimmed down dumpe2fs
532                 by eliminating duplicate code paths.  
533
534 2001-12-16  Theodore Tso  <tytso@mit.edu>
535
536         * dumpe2fs.c (list_desc), fsck.c (fs_match),
537                 get_device_by_label.c (get_label_uuid), 
538                 mke2fs.c (set_fs_defaults, zap_sector, PRS),
539                 tune2fs.c (remove_journal_device, update_feature_set),
540                 util.c (figure_journal_size), util.h: Fix gcc -Wall nits.
541
542         * e2image.c (write_raw_image_file): Fix gcc -Wall nits, and use
543                 the stashed inode functions to optimize away system calls.
544
545         * Makefile.in, jfs_user.h: linux/jfs.h has been renamed to
546                 linux/jbd.h
547
548 2001-12-02  Theodore Tso  <tytso@mit.edu>
549
550         * dumpe2fs.c: Don't print the offset to the bitmap and inode table
551                 if it's negative.  Also did some generalized code clean up
552                 to slim it down the support of the -x option.
553
554 2001-11-24  Theodore Tso  <tytso@mit.edu>
555
556         * e2image.8.in: Fix cut-and-paste typo (Addresses Debian bug
557                 #119624)
558
559 2001-11-13  Theodore Tso  <tytso@mit.edu>
560
561         * util.c (check_plausibility): Use stat64 if available so that
562                 check_plausibility() works with files > 2GB.
563
564 2001-11-05  Theodore Tso  <tytso@mit.edu>
565
566         * chattr.1.in: Update the man page to document the EXT2_NOTAIL_FL
567                 flag.
568
569         * chattr.c: Add support for the EXT2_NOTAIL_FL flag.
570
571         * fsck.c (interpret_type): If the "auto" type is specified, make
572                 sure interpet_device() is called so that device
573                 specifications which use LABEL= or UUID= are translated
574                 into a real device name.
575
576 2001-10-12  Theodore Tso  <tytso@mit.edu>
577
578         * e2image.c (output_meta_data_blocks): Optimize away excess
579                 lseek() calls when creating a sparse file.  Fewer system
580                 calls are a good thing.  <g>
581
582 2001-10-07  Andreas Dilger  <adilger@turbolinux.com>
583
584         * mke2fs.c (main): Always exit with non-zero code in case of error.
585
586         * mke2fs.c (zap_sector): Check that buffer allocation succeeded.
587
588 2001-09-20  Theodore Tso  <tytso@thunk.org>
589
590         * Release of E2fsprogs 1.25
591
592 2001-09-19  Theodore Tso  <tytso@mit.edu>
593
594         * tune2fs.c (remove_journal_inode): Remove dead code that wasn't
595                 in use.
596
597         * tune2fs.8.in: Update man page to reflect the fact that adding or
598                 removing a journal doesn't require running e2fsck.
599
600 2001-09-13  Theodore Tso  <tytso@mit.edu>
601
602         * mke2fs.c (zap_sector): Allocate sufficient space for 
603                 zero-filled buffer.
604
605 2001-09-02  Theodore Tso  <tytso@thunk.org>
606
607         * Release of E2fsprogs 1.24a
608
609 2001-08-31  Andreas Dilger  <adilger@turbolinux.com>
610
611         * mke2fs.c (main): Fix version format string.
612
613 2001-08-30  Theodore Tso  <tytso@thunk.org>
614
615         * Release of E2fsprogs 1.24
616
617 2001-08-30  Theodore Tso  <tytso@valinux.com>
618
619         * badblocks.8.in: Fix spelling typo.  (Addresses Debian bug #110621)
620
621         * mke2fs.c (zap_sector): Now takes a third argument, which is how
622                 many sectors to clear out.  Fixed up Andreas's patch to
623                 make it a bit more efficient/compact.
624
625 2001-08-30  Andreas Dilger  <adilger@turbolinux.com>
626
627         * mke2fs.c (main): Zap the second sector of the disk, along with
628                 any sectors in the same filesystem block after the superblock.
629                 The latter will remove (for example) swapspace signatures
630                 on 4kB+ blocksize filesystems.  Also when zeroing the "end"
631                 of the filesystem don't actually zero the start of a very
632                 small device (less than 64 blocks).
633
634 2001-08-27  Theodore Tso  <tytso@valinux.com>
635
636         * fsck.c (main): Make version display consistent with the other
637                 e2fsprogs programs.
638
639         * lsattr.c, chattr.c, mke2fs.c, tune2fs.c, dumpe2fs.c, e2image.c,
640                 mklost+found.c: Remove EXT2FS_VERSION from the version
641                 display, since it only confuses people.
642
643 2001-08-18  Theodore Tso  <tytso@valinux.com>
644
645         * tune2fs.c (remove_journal_device): Remove unused variable
646                 check_uuid.
647
648         * get_device_by_label.h: Define function prototype for
649                 copy_string(), since this was moved from fsck.c to
650                 get_device_by_label.c by Andreas's BK changeset.
651
652 2001-08-17  Andreas Dilger  <adilger@turbolinux.com>
653
654         * get_device_by_label.[ch], fsck.c, util.c:  New interpret_spec()
655                 function in get_device_by_label.c to allow the use of
656                 UUID= or LABEL= when creating filesystems which use external
657                 journal dev (e.g.  mke2fs -J device=LABEL=<journal_label>).
658
659         * tune2fs.c: Use superblock s_journal_uuid to locate an external
660                 journal device instead of s_journal_dev when removing it.
661                 Allow opening journal devices to set the label and UUID
662                 in the ext2 superblock.
663
664         * mke2fs.c, tune2fs.c: Free journal_device after use, as it is
665                 malloc'd in interpret spec.
666  
667 2001-08-15  Theodore Tso  <tytso@valinux.com>
668
669         * Release of E2fsprogs 1.23
670
671 2001-08-15  Theodore Tso  <tytso@valinux.com>
672
673         * tune2fs.c: Make sure that error messages are sent to stderr, and
674                 normal messages are sent to stdout.  (Addresses Debian bug
675                 #108555.)
676
677         * fsck.8.in: Fixed error in synopsis of the man page.
678
679         * fsck.c (check_all): Don't bother to interpret a device where the
680                 pass number is zero.  (Addresses Debian bug #106696.)
681                 (main): Print a warning message if there are no devices to
682                 be checked.  (Addresses Debian bug #107458.)
683
684         * mke2fs.c (PRS): Handle -O and -s options in line in the getopt
685                 loop, so that -s and -O handling are a bit more intuitive.
686                 (Not that they should be mixed anyway; -s is deprecated.)
687
688         * tune2fs.c (parse_tune2fs_options): Give an error if -O is
689                 specified more than once.
690
691 2001-08-10  Theodore Tso  <tytso@valinux.com>
692
693         * mke2fs.8.in: Slim down text describing the -O flag to remove
694                 text that erroneously implied that all features
695                 (including compatible flags) aren't compatible with older
696                 kernels.
697
698 2001-08-09  Theodore Tso  <tytso@valinux.com>
699
700         * mke2fs.c (PRS): Fix bug pointed out by Christopher Niessen; if
701                 mke2fs -O none is specified, the sparse_super feature
702                 should not be present.
703
704         * e2image.c, e2image.8.in: Add support for raw image files.
705
706 2001-08-04  Andreas Dilger  <root@lynx.adilger.int>
707
708         * mke2fs.c (PRS): Put check for JOURNAL_DEV before sparse_option,
709                 so we don't set the sparse superblock flag on journal devices.
710
711 2001-07-31  Theodore Tso  <tytso@valinux.com>
712
713         * tune2fs.c (update_feature_set, remove_journal_inode): If
714                 removing an in-filesystem journal, clear out the journal
715                 inode and update the filesystem accounting structures so
716                 we don't have to run e2fsck to clean up after ourselves
717
718 2001-07-30  Theodore Tso  <tytso@valinux.com>
719
720         * tune2fs.c (update_feature_set): Don't require a forced fsck if
721                 we're removing an external journal from a filesystem.
722
723 2001-07-27  Theodore Tso  <tytso@valinux.com>
724
725         * mke2fs.c (PRS): If the blocksize is not specified and the
726                 journal device is specified, use it to determine the
727                 blocksize of the new filesystem.
728
729 2001-07-20  Theodore Tso  <tytso@valinux.com>
730
731         * fsck.8.in: Add much more explicit language documenting how the
732                 fs_passno field in /etc/fstab is handled.  (Addresses
733                 Debian bug #30833).
734
735 2001-07-19  Theodore Tso  <tytso@valinux.com>
736
737         * fstype.c (identify_fs): New file which looks at the superblock
738                 of the filesystem to determines its type.
739
740         * fsck.c (fsck_device, ignore, interpret_type): Call identify_fs
741                 if the type specified in /etc/fstab is "auto".
742
743 2001-06-23  Theodore Tso  <tytso@valinux.com>
744
745         * Release of E2fsprogs 1.22
746
747 2001-06-15  Theodore Tso  <tytso@valinux.com>
748
749         * Release of E2fsprogs 1.21
750
751 2001-06-14  Theodore Tso  <tytso@valinux.com>
752
753         * mke2fs.c (PRS): Remove unneeded test in when creating a external
754                 filesystem journal.
755
756 2001-06-13  Theodore Tso  <tytso@valinux.com>
757
758         * tune2fs.c, mke2fs.c, util.c, util.h (print_check_message): Move
759                 the message which displays how often the filesystem will
760                 be checked from mke2fs into a utility subroutine.  Then
761                 cause tune2fs to call that function to display the message
762                 after adding a journal to a filesystem.
763
764         * mke2fs.8.in: Add manual page fixups and explanation for why it's
765                 good to check filesystems periodically from Andreas
766                 Dilger.
767
768         * Makefile.in: Don't build e2image if --disable-imager is
769                 specified to configure.
770
771 2001-06-12  Theodore Tso  <tytso@valinux.com>
772
773         * dumpe2fs.c: Use WORDS_BIGENDIAN to determine whether or not
774                 we're (not) using i386 byte order.
775
776         * dumpe2fs.c, mke2fs.c: Stop using the compatibility badblocks
777                 function, and use the ext2fs_badblocks_* functions
778                 instead.
779
780         * fsck.c (device_already_active): Fixed bug which can cause fsck
781                 to core dump if there are a mix of devices with standard
782                 and non-standard names.  (Addresses Debian bug #100559)
783
784 2001-06-07  Theodore Tso  <tytso@valinux.com>
785
786         * chattr.c, lsattr.c: Don't use _FILE_BITS_OFFSET method of using
787                 the 64-bit function, since this changes the expected size
788                 of struct dirent.  Instead use lseek64 explicitly.
789
790 2001-06-01  Theodore Tso  <tytso@valinux.com>
791
792         * Makefile.in: Move include/asm/types.h.in to
793                 lib/ext2fs/ext2_types.h.in.
794
795 2001-05-25  Theodore Tso  <tytso@valinux.com>
796
797         * Release of E2fsprogs 1.20
798
799 2001-05-25  Theodore Tso  <tytso@valinux.com>
800
801         * tune2fs.c (update_feature_set): Fix capitalization typo.
802
803 2001-05-23  Theodore Tso  <tytso@valinux.com>
804
805         * partinfo.c (main): Use unsigned long instead of long when
806                 querying the size of a device using the BLKGETSIZE ioctl,
807                 to remove the 1TB limit (and turn it into a 2TB limit :-)
808
809         * fsck.c (compile_fs_type): Fix I18N compilation bug: use N_()
810                 instead of _() to initialize static variables.
811
812 2001-05-20  Theodore Tso  <tytso@valinux.com>
813
814         * fsck.8.in, fsck.c (compile_fs_type, fs_type, ignore): Fix
815                 handling of -t option to be more intuitive.  Also add
816                 support for the Mandrake -t loop hack.  See man page
817                 for description of new -t semantics.
818
819         * fsck.c (device_already_active): Fix bug in
820                 device_already_active which could cause infinite loops if
821                 we don't know the base_device of the filesystem.
822
823         * fsck.c: Make sure all exit status codes returned by fsck are
824                 consistent with the error codes documented in the fsck man
825                 page.
826
827 2001-05-14  Theodore Tso  <tytso@valinux.com>
828
829         * badblocks.c, chattr.c, dumpe2fs.c, e2image.c, findsuper.c, 
830                 lsattr.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c:
831                 Change location of ext2_fs.h to be ext2fs/ext2_fs.h
832
833         * tune2fs.8.in: Fix typo's and make other clarifications suggested
834                 by Andreas Dilger.
835
836 2001-05-11  Andreas Dilger  <adilger@turbolinux.com>
837
838         * mke2fs.c: don't zap the superblock if we are running with noaction!
839                 Zap the end of the device to remove stale RAID superblocks.
840
841 2001-05-14  Theodore Tso  <tytso@valinux.com>
842
843         * tune2fs.c (update_feature_set): Clean up some printf messages.
844
845         * fsck.8.in, mke2fs.8.in, tune2fs.8.in: Fix typo's and make other
846                 clarifications suggested by Andreas Dilger.
847
848 2001-05-13  Theodore Tso  <tytso@valinux.com>
849
850         * mke2fs.c (PRS): Integrated changes from Andreas Dilger which
851                 make the revision superblock field be set to the correct
852                 value depending on if superblock features are set.
853
854 2001-05-12  Theodore Tso  <tytso@valinux.com>
855
856         * fsck.c (PRS): fsck -? now prints the usage message.
857
858         * badblocks.8.in, dumpe2fs.8.in, e2label.8.in, mke2fs.8.in, 
859                 mklost+found.8.in, tune2fs.8.in: Fix typo; removed
860                 excess "anonymous" in the AVAILABILITY section.
861
862         * chattr.1.in, lsattr.1.in, uuidgen.1.in: Update URL location of
863                 e2fsprogs package.
864
865 2001-05-07  Theodore Tso  <tytso@valinux.com>
866
867         * util.c: Use specific check for HAVE_SYS_STAT_H.
868
869 2001-05-05  Theodore Tso  <tytso@valinux.com>
870
871         * fsck.8.in: Add explicit language to describe how options get
872                 passed to filesystem-specific checkers.
873
874         * badblocks.8.in: Fixed man page to describe the first optional
875                 parameter to badblocks as last_block, instead of
876                 num_blocks.  (Debian bug #87216)
877
878         * badblocks.c: Change the blocks_count variable to be last_count,
879                 which is a more accurate description of the variable.
880
881 2001-05-03  Theodore Tso  <tytso@valinux.com>
882
883         * e2image.8.in: New manual page
884
885         * badblocks.8.in, e2label.8.in, mke2fs.8.in mklost+found.8.in, 
886                 tune2fs.8.in: Update location of e2fsprogs to be
887                 http://e2fsprogs.sourceforge.net.
888
889         * dumpe2fs.c (main): Add new flag, -i, which will allow dumpe2fs
890                 to dump out the filesystem statistics from an ext2 image
891                 file.
892         
893         * e2image.c (main): Fix format of e2image to be easier to be parse
894                 by ext2fs_open().
895
896 2001-05-01  Theodore Tso  <tytso@valinux.com>
897
898         * fsck.c (device_already_active): If we're not able to determine
899                 the base device, we should assume that the device is
900                 already active in order to force serialization.
901
902 2001-04-26  Theodore Tso  <tytso@valinux.com>
903
904         * tune2fs.c (parse_tune2fs_options): Interpret -c 0 as -c -1 (for
905                 backwards compatibility with older kernels).  -c 0 makes
906                 more sense to users.
907
908 2001-04-22  Theodore Tso  <tytso@valinux.com>
909
910         * tune2fs.c (remove_journal_device): If the force flag is given,
911                 tune2fs will remove the journal device information from
912                 the superblock even if tune2fs failed to open the journal
913                 device or otherwise other failed to remove the filesystem
914                 from journal device.
915                 (parse_tune2fs_options): Fix -j option so that it works
916                 (it was missing the open_flag being set to EXT2_FLAG_RW).
917                 (main): Accept "-U clear" to set a null UID.
918         
919 2001-04-21  Theodore Tso  <tytso@valinux.com>
920
921         * mke2fs.8.in: Manual page cleanups.  Temporarily comment out the
922                 documentation for the extern journal device support.
923
924         * mke2fs.c (usage): Remove the deprecated -s option from the usage
925                 message.
926
927 2001-04-16  Theodore Tso  <tytso@valinux.com>
928
929         * mke2fs.c (main): Add better explanation about when the
930                 filesystem will be checked after it is created.
931
932         * util.c (parse_journal_opts): Remove code which allowed a bare
933                 number to be treated as a journal size.
934
935         * mke2fs.c, tune2fs.c: Add newlines to error messages so that they
936                 look nicer.
937
938         * mke2fs.c (create_journal_dev): Call
939                 ext2fs_create_journal_superblock() first, so if it's going
940                 to error out, the user finds out before waiting for the
941                 entire device to get zero'ed.
942
943 2001-03-26  Theodore Tso  <tytso@valinux.com>
944
945         * mke2fs.8.in, tune2fs.8.in: Change man paegs to document that the
946                 journal must be bewteen 1024 and 102,400 file system
947                 blocks.
948
949         * mke2fs.c, tune2fs.c: Change to use figure_journal_size()
950
951         * util.c, util.h (figure_journal_size): Change
952                 journal_default_size into routine which also converts the
953                 requested journal size into filesystem blocks and does
954                 bounds checking to make sure the journal is sized
955                 reasonably.  Renamed function to journal_default_size.
956                 (parse_journal_opts): Remove bounds check for the journal
957                 size, since this is now done in figure_journal_size, and
958                 based on the number of filesystem blocks, as opposed to
959                 using the absolute size of the journal.
960
961 2001-02-17  Theodore Tso  <tytso@valinux.com>
962
963         * mke2fs.c (main): Flush out the "creating journal" message.
964                 Also handle the case where the default journal size
965                 returns zero blocks == no journal.  Print out how often
966                 the filesystem will be checked.
967
968 2001-02-08  Theodore Tso  <tytso@valinux.com>
969
970         * e2image.c (main): Add code to write the e2image header.
971
972 2001-02-07  Theodore Tso  <tytso@valinux.com>
973
974         * tune2fs.8.in: Update man page to reflect that 2.0.39 supports
975                 sparse_super.
976
977         * dumpe2fs.c (list_desc): Fix fencepost error when calculating the
978                 range of inode table blocks.  Add '0x' to values printed
979                 in hex.
980
981         * chattr.c, lsattr.c: Define the _LARGEFILE64_SOURCE to force the
982                 use of the LFS so that lstat will work on large files.
983
984 2001-01-17  Theodore Ts'o  <tytso@valinux.com>
985
986         * tune2fs.c, mke2fs.c, tune2fs.8.in, mke2fs.8.in: Change user
987                 interface so that -J is used to specify journal options,
988                 and -j is used to request creation of a journal using
989                 default values.  (This is a UI change, but we haven't done
990                 a formal release, and it makes things much more consistent
991                 with the rest of the options out there.) 
992
993         * tune2fs.c: Add support for removing a filesystem from an
994                 external journal; we correctly remove the filesystem UUID
995                 from the external journal's filesystem list.
996
997         * util.h, util.c (journal_default_size): New function from Andreas
998                 Dilger to calculate an appropriate default journal size
999                 given a filesystem size.
1000
1001         * util.c (parse_journal_opts): Allow the creation of a journal as
1002                 small as 1MB.
1003
1004         * dumpe2fs.c (print_journal_information): Use s_first_data_block
1005                 to find the correct block to read the journal superblock.
1006
1007 2001-01-15  Theodore Ts'o  <tytso@valinux.com>
1008
1009         * tune2fs.c: Changed the external journal code so that it simply
1010                 adds a filesystem to a journal; the journal must have bene
1011                 created via "mke2fs -O journal_dev /dev/XXX".
1012
1013         * mke2fs.c: Add support for creating an external journal device by
1014                 using the command "mke2fs -O journal_dev /dev/XXX".  Also
1015                 changed the external journal code so -j device=/dev/XXX it
1016                 simply adds a filesystem to that journal; the journal must
1017                 have been created via separate step.
1018
1019         * dumpe2fs.c (print_journal_information): Add support for dumping
1020                 information about an external journal device.
1021
1022 2001-01-14  Theodore Ts'o  <tytso@valinux.com>
1023
1024         * mke2fs.c: Add new filesystem types, largefile and largefile4,
1025                 for those filesystems whose average inode size is 1MB and
1026                 4MB, respectively.  Allow the inode ratio specified to be
1027                 has high as 4MB.   Make the s_max_mount_count vary between
1028                 20 and 40, to avoid needing to check all of the
1029                 filesystems at the same time.  Add some random jitter to
1030                 the s_max_mount_count value so that we avoid checking all
1031                 of the filesystems at the same time when we reboot.
1032
1033         * tune2fs.8.in: Add description of the -j option.
1034
1035         * tune2fs.c (add_journal): Minor fixes from Andreas Dilger. Flush
1036                 stdout after printing in-progress message.  
1037                 (main): Exit with status code 1 if we failed to determine
1038                 the mount status of the device.
1039
1040 2001-01-11    <tytso@snap.thunk.org>
1041
1042         * e2image.c, mke2fs.c, mklost+found.c, tune2fs.c, util.c,
1043                 uuidgen.c: Fix gcc -Wall complaints, including one bug in
1044                 tune2fs caused by a block automatic shadowing version of
1045                 the variable we really wanted to use, which broke the
1046                 logic testing to see if the filesystem was mounted.
1047
1048         * badblocks.c (flush_bufs): Use ext2fs_sync_device() to sync and
1049                 flush the device.
1050
1051         * mke2fs.c: Change ino_t to ext2_ino_t.
1052
1053 2001-01-08    <tytso@snap.thunk.org>
1054
1055         * Makefile.in, tune2fs.c: Move e2label functionality into tune2fs,
1056                 using argv[0] as a dispatch.  This allows e2label to be
1057                 (more) safely used on mounted filesystems.
1058
1059 2001-01-05    <tytso@snap.thunk.org>
1060
1061         * get_device_by_label.h (get_volume_label_by_spec): Add function
1062                 prototype.
1063
1064         * get_device_by_label.c: Use string_copy() instead of strdup() for
1065                 portability's sake.  Fix a few other gcc -Wall
1066                 complaints. 
1067
1068         * fsck.c (string_copy): Export string_copy() extern.
1069
1070         * badblocks.c: Fix various gcc -Wall complaints, including
1071                 an incorrect reference to sync in flush_bufs().
1072
1073 2001-01-03    <tytso@snap.thunk.org>
1074
1075         * tune2fs.c (update_feature_set, add_journal): Moved to separate
1076                 functions.  Added ability to add and remove the journal
1077                 while the filesystem is live.  Added support for setting
1078                 a time-based UUID.  Removed zero-initialized static variables.
1079
1080         * mke2fs.c, util.c, util.h (strcasecmp, proceed_question,
1081                 check_plausibility, parse_journal_opts, check_mount):
1082                 Moved functions to util.c so they can be used by tune2fs.
1083
1084         * mke2fs.c (main): Change ext2fs_add_journal_fs() to 
1085                 ext2fs_add_journal_inode() to reflect function renaming.
1086
1087 2001-01-01    <tytso@snap.thunk.org>
1088
1089         * mke2fs.c, e2image.c: Removed references to struct ext2fs_sb to
1090                 struct ext2_super_block.
1091
1092         * tune2fs.c (main): Add support to allow HAS_JOURNAL flag to be
1093                 cleared, but only if the filesystem is unmounted or
1094                 mounted read-only.  Changed struct ext2fs_sb to struct
1095                 ext2_super_block, and cleaned up old code which was needed
1096                 for old versions of ext2_fs.h (not needed since we're
1097                 using our own version now).
1098
1099 2000-12-31    <tytso@snap.thunk.org>
1100
1101         * fsck.c (check_all): Call interpet_device to resolve LABEL= and
1102                 UUID= right away so that the device_already_active() logic
1103                 can do the right thing.  Also cleaned up the the root
1104                 filesystem logic checking code; fixed up a logic bug with
1105                 the parallel_root option.
1106
1107         * lsattr.1.in: Add pointer to chattr man page for definition of
1108                 the file attributes.
1109
1110         * lsattr.c (list_attributes): Minor cleanup to smooth out logic
1111                 flow.  Also removed static initialized variables to zero.
1112
1113         * chattr.c (decode_arg, get_flag): Use a table-driven method for
1114                 decoding the ext2 file flags character options.  Add
1115                 support for the journaled data flag.
1116
1117         * chattr.1.in: Document the -j/+j/=j flag.
1118
1119 2000-12-30    <tytso@snap.thunk.org>
1120
1121         * mke2fs.8.in: Minor clarity edit.
1122
1123         * mke2fs.c (usage): Document the -j option.
1124                 (main): Print the number blocks used in the journal.
1125
1126 2000-12-28    <tytso@snap.thunk.org>
1127
1128         * base_device.c (base_device): Add support for DAC960 device
1129                 names.
1130
1131         * fsck.c (device_already_active): Handle the case where
1132                 base_device doesn't know how to interpret the device name,
1133                 instead of core dumping.
1134
1135 2000-12-09    <tytso@snap.thunk.org>
1136
1137         * mke2fs.c (main, parse_journal_opts): Add support for creating V1
1138                 superblocks.  We now pass in a journal_flags field to the
1139                 journal creation routines for this purpose.
1140
1141         * mke2fs.c: Remove zero initializers to save a few bytes from the
1142                 executable image.  (Are we excited yet?)
1143
1144         * findsuper.c: And non-subtle copyright licensing restriction to
1145                 get Yann to remove this program from the Debian package.  :-) 
1146
1147 2000-12-03    <tytso@snap.thunk.org>
1148
1149         * fsck.c (device_already_active): Change to use new version of
1150                 base_device() which now returns dynamically allocated
1151                 memory.
1152
1153         * base_device.c (base_device): New version moved from fsck.c which
1154                 now understands ugly devfs names.  (Debian bug #65181)
1155
1156         * base_device.tst: Test case for base_device.c
1157
1158 2000-12-02    <tytso@snap.thunk.org>
1159
1160         * fsck.8.in: Add clarification that filesystems with a fs_passno
1161                 of 0 are skipped with the -A option.  (Debian wishlist/bug
1162                 #63442)
1163         
1164         * fsck.c (wait_one): When we let a new fsck take control of the
1165                 console to display the progress bar, set FLAG_PROGRESS to
1166                 so that fsck knows not to start new processes during an
1167                 fsck pass with the progress bar. (Should fix debian bug
1168                 #65267)
1169
1170         * tune2fs.8.in: Add clarifying statement about converting user and
1171                 group names to uid's before storing them in the
1172                 superblock.  (Debian bug #67446)
1173
1174 2000-11-16  Theodore Ts'o  <tytso@valinux.com>
1175
1176         * mke2fs.c(main): Expand the -j option so that it parses
1177                 option=argument style options, and add support for
1178                 creating filesystems with external journals.
1179
1180         * mke2fs.8.in: Document new syntax for the -j option.
1181
1182 2000-11-05    <tytso@snap.thunk.org>
1183
1184         * e2image.c, Makefile.in: New program which saves ext2 metadata to
1185                 a file for people who need a last-ditch saving throw.
1186
1187 2000-10-24    <tytso@snap.thunk.org>
1188
1189         * mke2fs.c (PRS): Applied Andreas Dilger's patch to make the -r -s
1190                 handling a bit more sane.  (Even though -s is deprecated
1191                 at this point.)
1192
1193         * get_device_by_label.c: Apply fix from Erik Troan to support 16
1194                 character labels.
1195
1196         * fsck.c (device_already_active): Add a special case check for MD
1197                 devices, so we don't try to check them in parallel with
1198                 other devices.
1199
1200         * mke2fs.c (PRS, main), mke2fs.8.in: Add support for the -j
1201                 option, which builds an ext2/3 filesystem with an ext3
1202                 journal.
1203
1204 2000-10-24    <tytso@valinux.com>
1205
1206         * mke2fs.c (zap_sector): Fix really stupid typo which gcc 2.95
1207                 didn't catch.
1208
1209 2000-09-12    <tytso@valinux.com>
1210
1211         * fsck.c: Add base device definitions for hd[e-h], for those
1212                 systems with four IDE interfaces.
1213
1214 2000-09-11    <tytso@valinux.com>
1215
1216         * mke2fs.c (zap_sector): Fix error message printed when zap_sector
1217                 fails. 
1218
1219         * dumpe2fs.c (list_desc): Fixed format string bug when printing
1220                 the inode table location in non-hex format.
1221
1222 2000-08-20    <tytso@valinux.com>
1223
1224         * get_device_by_label.c: Add call to ext2fs_find_block_device if
1225                 we can't find the device using the name given by
1226                 /proc/partitions.  (This can happen if devfs is compiled
1227                 into the kernel, but not mounted.)
1228
1229 2000-06-27  Andreas Dilger <adilger@turbolabs.com>
1230
1231         * dumpe2fs.c (usage): add fhx options to usage message, add -x option
1232                 to print out the per-group block numbers in hex, add line for
1233                 location of primary/backup superblock and group descriptors
1234
1235         * mke2fs.c: rename max to group_blk_max avoid potential macro conflict
1236
1237 2000-08-14    <tytso@valinux.com>
1238
1239         * mke2fs.c (zap_sector): Change zap_bootsect to more general
1240                 zap_sect.
1241                 (main): Clear the superblock when starting mke2fs, to
1242                 avoid leaving the filesystem in an inconsistent state.
1243
1244 2000-07-26    <tytso@valinux.com>
1245
1246         * get_device_by_label.c: Improve /proc/partitions parsing in
1247                 fsck, and speed up fsck -a.
1248
1249 2000-07-13    <tytso@valinux.com>
1250
1251         * Release of E2fsprogs 1.19
1252
1253 2000-07-13    <tytso@snap.thunk.org>
1254
1255         * badblocks.8.in: Added text explaining that the -n and -w options
1256                 are mutually exclusive.
1257
1258         * badblocks.c (usage): Fix usage message to make it clear that the
1259                 block count must be specified if the starting block is to
1260                 be specified.  (The starting block should be a option, in
1261                 the long run.)
1262
1263         * badblocks.c (test_nd): Save and restore the currently_testing
1264                 variable before going into the write verification loop.
1265                 This avoids a loop termination problem if the last block
1266                 on the disk is bad.  Also, turn off the SIGALRM signal
1267                 while restoring blocks after the user types ^C.  The
1268                 num_saved variable is now static so that it won't get
1269                 clobbered by a longjmp.  buf_used and bb_count are no
1270                 longer static, since they aren't used by the cleanup
1271                 routines anymore.
1272
1273         * badblocks.c (main): Removed an unsued varaible (buf_size).
1274                 Fixed bad getopt argument that didn't allow the 'b' option
1275                 to take an argument.  Added error checking when parsing
1276                 the starting block number.  Fixed lint warning in fscanf
1277                 format string.
1278
1279 2000-07-06  Theodore Ts'o  <tytso@valinux.com>
1280
1281         * fsck.c (execute, wait_one): Treat fsck.ext3 the same as
1282                 fsck.ext2 (because they are the same) for the purposes of
1283                 the progress bar display logic.
1284
1285         * tune2fs.8.in: Update manual page to document what happens if
1286                 max_mount_count is negative.
1287
1288         * tune2fs.c (main): Allow setting the maximal count value to be
1289                 negative, since the kernel interprets that as forcing a
1290                 check. 
1291
1292         * fsck.c (lookup, load_fs_info, check_all): Use lazy evaluation
1293                 for calling interpret_device(), since this requires root
1294                 privileges if the partitions need to be scanned.
1295                 Otherwise, it's not possible to do non-proot fsck's for
1296                 removeable devices such as floppies if there are any
1297                 LABEL= or UUID= entries in /etc/fstab.
1298
1299         * badblocks.c (check_mount, main): Check to see if the filesystem
1300                 is mounted before doing a read/write or non-destructive
1301                 test.  This can be overriden using the new -f option.
1302
1303         * badblocks.8.in: Update manual page to reflect that the
1304                 blocks-count parameter is now optional.  Also properly
1305                 document the start-block parameter.  Added documentation
1306                 for the -f option.
1307
1308         * badblocks.c (main): Allow the blocks-count parameter to be
1309                 optional.   If it's not specified, use the size of the
1310                 device as a default.
1311
1312 2000-07-05  Theodore Ts'o  <tytso@valinux.com>
1313
1314         * badblocks.c (test_nd): Significantly simplify the logic so that
1315                 it's more obviously what's going on.  Fixed a few
1316                 potential cases which weren't handled correctly in the
1317                 old, overly complicated logic.
1318                 (flush_bufs): Now doesn't take a second argument, and
1319                 always forces a sync; this is required before it's really
1320                 safe to call BLKFLSBUF, at least for some kernels.
1321
1322 2000-05-29  Theodore Ts'o  <tytso@valinux.com>
1323
1324         * mke2fs.c (PRS): Add a much more specific error message if the
1325                 filesystem size is defaulted and get_device_size returns a
1326                 size of zero.  Otherwise, users get a confusing "invalid
1327                 argument while passed to ext2 library" error message.
1328
1329 2000-05-08  Theodore Ts'o  <tytso@valinux.com>
1330
1331         * fsck.c (interpret_device): Add better error messages if a UUID=
1332                 or LABEL= specification is given.
1333
1334         * mke2fs.c (main): We forcibly turn off the filetype feature if
1335                 the OS is the hurd, since the hurd doesn't support it.
1336                 (And since the hurd allows the transmogrification of files
1337                 to special files and vice versa --- for no good reason
1338                 that I can understand --- it can't support the filetype
1339                 feature for the forseeable future, either.)
1340
1341         * mke2fs.c (proceed_question): Fix reversed sense of
1342                 proceed_question that was busted due to the
1343                 internationalization patch.  Fixed bug where if
1344                 proceed_question was called twice, the input buffer wasn't
1345                 cleared of the previous question's newline.
1346         
1347 Thu Apr  6 17:50:25 2000  Theodore Y. Ts'o  <tytso@signal.thunk.org>
1348
1349         * badblocks.c (flush_bufs): Use fsync() if the system doesn't
1350                 support fdatasync().
1351
1352 2000-04-03  Theodore Ts'o  <tytso@valinux.com>
1353
1354         * badblocks.c, dumpe2fs.c, e2label.c, mke2fs.c, tune2fs.c,
1355                 uuidgen.c: For platforms that don't define optarg.h,
1356                 manually define optarg and optind.
1357
1358         * badblocks.8.in: Updated manual page with suggestions from David
1359                 Beattie.
1360
1361         * badblocks.c (test_nd): Generalized cleanup and bug-fixes.   We
1362                 now explicitly clear out the signal handlers to prevent a
1363                 longjmp to a deactivated stack frame.  
1364                 (test_rw): Fixed a signed vs. unsigned comparison error.
1365
1366         * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, lsattr.1.in,
1367                 mklost+found.8.in, tune2fs.8.in: Update Remy Card's e-mail
1368                 address.  
1369                 chattr.1.in: Update which attributes aren't supported.
1370
1371 2000-02-09  Theodore Ts'o  <tytso@valinux.com>
1372
1373         * chattr.1.in: 
1374         * lsattr.1.in: Change "version" to "version/generation number".
1375
1376         * chattr.1.in: Fix stupid file vs filesystem typo.
1377
1378         * tune2fs.c Fix spelling error (spare vs sparse).
1379
1380         * mke2fs.c (PRS): Add safety check to make sure the number of
1381                 blocks doesn't exceed 32 bits on a 64 bit machine.
1382
1383         * chattr.c: Random cleanup; file-only variables are now static.
1384                 Options for setting/clearings flags put into order, and
1385                 #ifdef's removed (since we now use a built-in header
1386                 file).  Add error message if user tries to set and reset
1387                 the same flag.
1388
1389         * lsattr.c: Random cleanup; file-only variables are now static.
1390                 The -l "long" listing has been changed to look nicer.
1391                 Options names have been renamed to be more descriptive.
1392         
1393 2000-02-06  Theodore Ts'o  <tytso@valinux.com>
1394
1395         * badblocks.c, chattr.c, dumpe2fs.c, e2label.c, findsuper.c,
1396                 fsck.c, get_device_by_label.c, lsattr.c, mke2fs.c, 
1397                 mklost+found.c, nls-enable.h, partinfo.c, tune2fs.c,
1398                 uuidgen.c: Add Internationalization support as 
1399                 suggested by Marco d'Itri <md@linux.it>.
1400
1401         * badblocks.c: Fix non-destructive read/write patches from David
1402                 Beattie.  Non-standard variable-length automatic arrays
1403                 removed.  Non-destrutive write test fixed so that logic is
1404                 clearer and more provably correct.  (I believe the old
1405                 code had a bug where the disk data wasn't restored if it
1406                 was interrupted at the wrong time.)
1407
1408         * badblocks.8.in: Document new options in man page.
1409
1410 2000-02-02  Theodore Ts'o  <tytso@valinux.com>
1411
1412         * fsck.c (interpret_device): If there was an attempt to interpret
1413                 a device specification of the type "UUID=" or "LABEL=",
1414                 and it fails, check to see if /proc/partitions is
1415                 readable.  If not, print a warning message about /proc
1416                 perhaps not being mounted, and exit.
1417
1418         * mke2fs.c (check_plausibility): Remove unneeded #include of
1419                 linux/fs.h.  Add #define of MAJOR if necessary.
1420
1421         * partinfo.c: Remove unneeded #include of linux/fs.h
1422
1423 2000-01-19  Theodore Ts'o  <tytso@valinux.com>
1424
1425         * tune2fs.c (usage): Update the usage message to correctly
1426                 document the -s option.
1427
1428 2000-01-18  Theodore Ts'o  <tytso@valinux.com>
1429
1430         * badblocks.c: Folded in patches David Beattie <dbeattie@usa.net>.
1431                 Need to do cleanup before release: use of GCC extensions
1432                 (dynamic arrays); unclean coding tricks (use of || instead
1433                 of if statements, etc.).  Comments from David Beattie:
1434
1435                 "I added non-destructive write-testing, and quite a few
1436                 other features.  The non-destructive write testing,
1437                 triggered by new "-n" command-line option, will write test
1438                 patterns to the disk, but only after reading data off the
1439                 disk into memory.  Then, comparing the test patterns gives
1440                 a result as to whether or not those sectors are reliable.
1441                 Finally, the original data is written back.
1442
1443                 To streamline this operation, I added another option, "-c
1444                 blocks_at_once", which will give the number of disk blocks
1445                 to process at one time (mnemonic--"count").  I made this
1446                 default to 16 (as in the read-only testing mode), and also
1447                 affect the read-only testing mode.  Of course, read-only
1448                 mode needs (count * block_size) amount of memory, and
1449                 non-destructive read-write needs 3 times that much, so it
1450                 makes sense to do the calculations and not overrun
1451                 available RAM...I would have liked to implement and
1452                 auto-memory-usage heuristic, but I have no idea if it's
1453                 even possible to determine the amount of free memory on a
1454                 Unix system except by reading /proc entries, and that
1455                 didn't seem portable.  I did NOT make this blocks_at_once
1456                 affect the behavior of the test_rw routine, as it is
1457                 processing the whole disk at once, anyway.
1458
1459                 I *think* that I got higher detection rates on my hard
1460                 drive using random test data than patterned test data, so
1461                 my non-destructive mode initializes its test data buffer
1462                 randomly.
1463
1464                 I fixed a typo in flush_bufs that caused the ioctl
1465                 BLKFLSBUF to never get compiled into the program.
1466
1467                 Also, I added an "undocumented" (I didn't put it into the
1468                 usage message; you can if you think it's useful) "-h"
1469                 option to specify the host device to flush--useful if you
1470                 want to test out my "non-destructive" code on something
1471                 other than a hard drive, such as a file on a hard drive,
1472                 and want the host hard drive to flush.
1473
1474                 I provided support for an "input" file (via option "-i",
1475                 similar to the "-o" option)...containing a list of
1476                 already-known bad blocks; it will skip testing those
1477                 blocks, thus adding speed to the bad block scan (on my
1478                 computer, hitting a physically bad block causes a
1479                 half-second-or-more freeze as the kernel waits for the
1480                 hard drive to give up and reset itself; pretty annoying
1481                 when you already know the block is bad from a previous
1482                 scan).
1483         
1484                 Finally, the real killer, the persistent re-scan (option:
1485                 "-p num_passes") that I created will, if desired,
1486                 persistently re-scan the drive until it has completed a
1487                 user-decidable number of passes in a row during which no 
1488                 new bad blocks are found.  On my drive, I would see
1489                 behavior that a certain percentage of bad blocks would be
1490                 found with each pass (it was not reliable in the defective
1491                 areas!), so I wanted it to check it over and over again
1492                 until it didn't find any more, several times.  Perhaps
1493                 this will be useful to others.  Defaults of course to
1494                 zero, meaning it will stop after the first pass.  I used
1495                 "-p 2" on my drive, and it ran for 2 1/2 days...then used
1496                 "-p 3" a couple days later and it ran for a few more
1497                 hours, and since then the rest of my drive has been
1498                 completely reliable.
1499
1500                 Implementation of these last two features, "-i" and "-p",
1501                 I did using a bb_list from libext2fs.  I debated whether
1502                 bad blocks input through "-i" should be output into the
1503                 "-o" file (or stdout, of course), and decided against it,
1504                 but left the code to do so in place, commented out, just
1505                 for your information.
1506
1507                 In order to maintain data integrity upon interruption of a
1508                 non-destructive-write test, I created a signal handler
1509                 which I install which will write back whatever original
1510                 disk data is in the buffers upon any of the fatal signals
1511                 (except SIGKILL, of course).
1512
1513                 Of course, ideally, the new options would be reflected in
1514                 the badblocks manual page, but I am not experienced at
1515                 manual page modification; if you decide my patch to
1516                 badblocks should be incorporated into the distribution, I
1517                 could learn how to update the manpage and other
1518                 documentation, or you could do it for me after exercising
1519                 your opinions, if you have any, on exactly what the
1520                 command-line parameters should be called and which ones
1521                 should be in the distribution."
1522
1523 2000-01-07  Theodore Ts'o  <tytso@valinux.com>
1524
1525         * Really fix the bug where "fsck -As" will actually allow
1526                 interactive fsck's.  (For those people who like to do
1527                 interactive fsck's in the /etc/rc scripts!?!)
1528
1529 1999-11-23    <tytso@valinux.com>
1530
1531         * tune2fs.8.in: Fix man page so that the sparse_super filesystem
1532                 option is properly named.
1533
1534 1999-11-22    <tytso@valinux.com>
1535
1536         * mke2fs.c: Change log2() and log10() to int_log2() and
1537                 int_log10() to avoid namespace collisions.  Change #ifdef
1538                 sparc to #ifdef __sparc__.
1539
1540 1999-11-19    <tytso@valinux.com>
1541
1542         * Makefile.in (distclean): Remove TAGS and Makefile.in.old from
1543                 the source directory.
1544
1545 1999-11-10    <tytso@valinux.com>
1546
1547         * Release of E2fsprogs 1.18
1548
1549 1999-11-10    <tytso@valinux.com>
1550
1551         * mke2fs.8.in: Update manual page so that the sparse_option
1552                 filesystem option is properly named.
1553
1554 1999-11-04    <tytso@valinux.com>
1555
1556         * fsck.c (main): Move setting of the interactive flag to before
1557                 the call to check_all(), so that people who try to use
1558                 fsck -As can do so interactively.
1559
1560 1999-10-26    <tytso@valinux.com>
1561
1562         * Release of E2fsprogs 1.17
1563
1564 1999-10-26    <tytso@valinux.com>
1565
1566         * fsck.c (PRS, device_already_active): Add debugging hook; if the
1567                 environment variable FSCK_FORCE_ALL_PARALLEL is set, then
1568                 force all fsck runs to happen in parallel.
1569
1570         * get_device_by_label.c (has_right_label): Fixed bug where code
1571                 used a strncmp to compare a binary UUID value which may
1572                 contain a NULL.  Fixed GCC warnings; added const to char *
1573                 typed variables.  Eliminated non-portable use of u_char.
1574
1575         * mke2fs.c (PRS): Fix gcc warnings; add const to some char *
1576                 variables, including in struct mke2fs_defaults.  
1577                 (set_fs_defaults): Changed parameter name to avoid
1578                 gcc warnings.
1579
1580         * fsck.c (wait_one): Fix gcc warnings; add #include for ctype.h,
1581                 add const to char * variables, and use NOARGS to declare
1582                 functions that take no arguments.  Also fix a memory leak
1583                 in execute() where we weren't freeing argv[] after forking
1584                 the child process.
1585
1586         * chattr.c: Add hack to compile in a definition for S_ISLNK so we
1587                 can successfully compile even with warnings turned on.
1588
1589 1999-10-25    <tytso@valinux.com>
1590
1591         * mke2fs.c (show_stats): Capitalized Hurd to make the GNU types
1592                 happy. 
1593                 (PRS): Use __u64 instead of long long for portability
1594                 reasons.   Also moved #include of sys/stat.h inside #ifdef
1595                 HAVE_LINUX_MAJOR_H for portability reasons.
1596
1597         * fsck.c (execute): Fix really stupid bug in the linked list
1598                 management which caused fsck in parallel mode to go into
1599                 an infinite loop.
1600
1601 1999-10-22    <tytso@valinux.com>
1602
1603         * Release of E2fsprogs 1.16
1604
1605 1999-10-22    <tytso@valinux.com>
1606
1607         * tune2fs.c (main): Add a new option -O which allows the user to
1608                 set and clear certain "safe" filsystem feature flags.
1609                 Currently, the only ones which are supported for
1610                 modification are sparse_superblock and filetype.
1611
1612         * mke2fs.c (PRS): Add new option -O which allows the user to
1613                 request filesystems with specific filesystem options.  By
1614                 default on 2.2 and later systems, create filesystems that
1615                 have both file type information and sparse superblocks.
1616
1617 1999-10-21    <tytso@valinux.com>
1618
1619         * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, e2label.8.in,
1620           fsck.8.in, lsattr.1.in, mke2fs.8.in, mklost+found.8.in,
1621           tune2fs.8.in, uuidgen.1.in: Update man page to use a more standard
1622                 format (bold option flags and italicized variables), as
1623                 suggested by Andreas Dilger (adilger@enel.ucalgary.ca)
1624
1625 1999-10-14    <tytso@valinux.com>
1626
1627         * tune2fs.c (main): Fix typo (double spaces) in messages regarding
1628                 changing the sparse superblock option
1629
1630         * fsck.c (wait_one): If the fsck process just started, wait a
1631                 second before sending a SIGUSR1, to give it a chance
1632                 to set the signal handler; otherwise, fsck will die on an
1633                 unhandled SIGUSR1.
1634
1635 1999-09-15    <tytso@valinux.com>
1636
1637         * mke2fs.c (show_stats): Fix display bug when printing out the
1638                 number of superblocks.  Suggested by Yann Dirson.
1639
1640 1999-09-08    <tytso@valinux.com>
1641
1642         * partinfo.c: Fix minor compilation bugs pointed out by Yann
1643                 Dirson.
1644
1645         * mke2fs.c: Don't turn on sparse superblocks by default on pre-2.2
1646                 kernels. 
1647
1648         * mke2fs.8.in: Add the possible valid block sizes for mke2fs.
1649                 Document the -n flag, and the new defaults for the -s
1650                 flag.
1651
1652         * dumpe2fs.c, dumpe2fs.8.in: Add new options -f (force) and -h
1653                 (header-only).
1654
1655 1999-08-13    <tytso@valinux.com>
1656
1657         * mke2fs.c (PRS): Fix logic for turning on/off the sparse
1658                 superblock option.
1659
1660 1999-07-18  Theodore Ts'o  <tytso@valinux.com>
1661
1662         * Release of E2fsprogs 1.15
1663
1664 1999-07-18    <tytso@rsts-11.mit.edu>
1665
1666         * mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows
1667                 the user to specify the how the filesystem is to be used.
1668                 Mke2fs now chooses the filesystem parameters automatically
1669                 based on the size of the filesystem and the intended use
1670                 of the filesystem.  Add new option -n which simply goes
1671                 through the calculations to determine the parameters of
1672                 the filesystem the system would make.
1673
1674 1999-07-18    <tytso@valinux.com>
1675
1676         * fsck.c, fsck.h: Add support for new option -C.  This option will
1677                 automatically manage e2fsck processes so that they will
1678                 print completion/progress bars.  If multiple filesystems
1679                 are being checked, arrange to make sure that only one
1680                 e2fsck process is displaying a progress bar at a time.
1681
1682 1999-07-08    <tytso@valinux.com>
1683
1684         * badblocks.c (do_test): Don't complain if the write error occurs
1685                 on a non-block boundary.  This is perfectly common when
1686                 using blocksizes larger than 1k.
1687
1688 1999-07-03    <tytso@valinux.com>
1689
1690         * uuidgen.c: Add option parsing so that user can ask for either a
1691                 time-based UUID or a random-based UUID.
1692
1693 1999-07-02    <tytso@valinux.com>
1694
1695         * fsck.c: Added support for LABEL= and UUID= specifications for
1696                 the filesystem's device, to match what recent mount
1697                 programs can support.  Also, close stdin when doing fsck
1698                 -A or when checking more than one filesystem at a time, so
1699                 that e2fsck doesn't try to ask interactive questions if
1700                 the filesystem appears to be mounted.
1701
1702         * get_device_by_label.c: New file added to support LABEL=foo and
1703                 UUID=bar type specifications.
1704
1705 1999-07-01    <tytso@valinux.com>
1706
1707         * badblocks.c:  Make the "done" string include enough spaces to
1708                 clear out a large block number.
1709
1710 1999-06-29    <tytso@valinux.com>
1711
1712         * mke2fs.c (check_mount): Allow a filesystem to be made even if it
1713                 appears mounted if the force option is given.
1714
1715 1999-06-24    <tytso@valinux.com>
1716
1717         * mke2fs.8.in: Fix typo in man page which caused the badblocks
1718                 command to not show up in the "SEE ALSO" section.
1719
1720 1999-05-02    <tytso@rsts-11.mit.edu>
1721
1722         * findsuper.c: Added documentation from aeb@cwi.nl; some minor
1723                 code cleanups.
1724
1725 1999-05-20    <tytso@rsts-11.mit.edu>
1726
1727         * dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which
1728                 allow a filesystem expert to specify the superblock and
1729                 blocksize when opening a filesystem.  This is mainly
1730                 useful when examining the remains of a toasted filesystem.
1731
1732 1999-03-11  Andreas Dilger <adilger@enel.ucalgary.ca>
1733
1734         * uuidgen.c, uuidgen.1.in: Created command-line utility to
1735                 generate UUIDs.
1736
1737 1999-03-14  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1738
1739         * fsck.c (fsck_device, execute): Don't dereference a null pointer
1740                 when checking a filesystem not in /etc/fstab.
1741
1742 1999-02-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1743
1744         * fsck.c (fsck_device): Print an error message if the user passes
1745                 in a device or directory name which isn't found in /etc/fstab.
1746                 Allow the location of /etc/fstab to be overridden by
1747                 the FSTAB_FILE environment variable.
1748
1749 1999-01-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1750
1751         * mke2fs.c (write_inode_tables): Add kludge code so that when the
1752                 MKE2FS_SYNC environment variable is set, mke2fs will sync
1753                 every MKE2FS_SYNC block groups, while it is writing out
1754                 the inode tables.  This is to work around a VM bug in the
1755                 2.0 kernel.  I've heard a report that a RAID user was able
1756                 to trigger it even using a 2.2 kernel.
1757
1758 1999-01-16  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1759
1760         * fsck.c (execute, wait_one): Modified routines so that they
1761                 accurately create an fsck_instance even when the noexecute
1762                 flag is set.  This allows for accurate debugging of the
1763                 fsck pass structure.
1764                 (check_all): When the verbose flag is given twice, print
1765                 debugging information about when fsck is waiting for jobs
1766                 to finish.
1767
1768 1999-01-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1769
1770         * Release of E2fsprogs 1.14
1771
1772 1999-01-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1773
1774         * fsck.8.in: Clarified and expanded the documentation for the -A
1775                 switch.
1776
1777 1999-01-07  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1778
1779         * fsck.c (load_fs_info): If the pass number field is missing, it
1780                 needs to be treated as zero.
1781
1782 1999-01-05  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1783
1784         * mke2fs.c (PRS): Add -N option to allow the user to specify
1785                 exactly how many inodes he/she wishes.
1786
1787         * chattr.c, lsattr.c: Only print the version information for the
1788                 program if the -V option is given.
1789
1790         * chattr.c: Ignore symbolic links when doing a recursive descent
1791                 through a directory.
1792
1793 1999-01-01  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1794
1795         * fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines
1796                 are commented out.  Also allow blank lines in the
1797                 /etc/fstab file.
1798                 (execute): In verbose mode, print the mountpount of the
1799                 filesystem which we are checking (user request).
1800
1801 1998-12-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1802
1803         * mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
1804                 compatibility with Linux 1.2.13 header files.
1805
1806 1998-12-15  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1807
1808         * Release of E2fsprogs 1.13
1809
1810 1998-12-07  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1811
1812         * mke2fs.8.in: Fixed stupid typo ("Raid options are _comma_
1813                 seperated", instead of common separated)
1814
1815 1998-12-03  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1816
1817         * Makefile.in: Updated dependencies.
1818
1819 1998-11-27  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1820
1821         * fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of
1822                 relying on getmntent().  This has the advantage of
1823                 allowing us to properly handle missing pass numbers correctly.
1824
1825 1998-11-13  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1826
1827         * tune2fs.8.in: Fix minor display bug in the nroff.
1828
1829         * mke2fs.c (show_stats, write_inode_tables): Use the log10
1830                 function to calculate the display of block numbers so that
1831                 things look nice on an 80 character display.
1832
1833 1998-10-12  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1834
1835         * mke2fs.c (usage): Add the sparse-super-flag to the usage
1836                 message. 
1837
1838 1998-07-09  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1839
1840         * Release of E2fsprogs 1.12
1841
1842 1998-07-04  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1843
1844         * findsuper.c (main): Print the block group number which is now
1845                 being written by e2fsprogs.
1846
1847 1998-06-25  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1848
1849         * fsck.c (ignore): Remove unused variable cp.
1850
1851         * chattr.c (fatal_error): 
1852         * tune2fs.c (usage): 
1853         * lsattr.c (usage): 
1854         * dumpe2fs.c (usage): 
1855         * badblocks.c (usage): Remove volatile from declaration.
1856
1857         * fsck.c: Change use of strdup to be string_copy, since we don't
1858                 trust what glibc is doing with strdup.  (Whatever it is,
1859                 it isn't pretty.)
1860
1861 1998-06-19  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1862
1863         * mke2fs.c (PRS): Add a -V option which prints the version number
1864                 and exit.
1865
1866 1998-05-14  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1867
1868         * fsck.c (ignore): Remove check for filesystems with the noauto 
1869                 option.
1870
1871 1998-03-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1872
1873         * Makefile.in: Change to use new installation directory variables
1874                 convention.  Fix uninstall rules to take $(DESTDIR) into
1875                 account.  Remove cat8dir and cat1dir from the installdirs
1876                 target, since modern man package don't necessarily put the
1877                 cat directory in /usr/man/cat?.
1878
1879 1998-03-29  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1880
1881         * e2label.8.in: New man page to document the e2label function.
1882
1883         * e2label.c: Fix -Wall warning by making functions static.
1884
1885 1998-03-28  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1886
1887         * chattr.1.in: Document that the append-only attribute may
1888                 only be set or cleared by the superuser.
1889
1890         * Update all manual pages to that the availability section is
1891                 up-to-date. 
1892
1893         * e2label.8.in, tune2fs.8.in: Update manual page to state that
1894                 labels must be no longer than 16 characters, or they will
1895                 be truncated.
1896
1897         * e2label.c (change_label), tune2fs.c (main): If the label is
1898                 longer than 16 characters, print a warning message stating
1899                 that the label will be truncated.
1900
1901         * mke2fs.c (PRS): If the user specifies a filesystem size, and
1902                 it's larger than the apparent size of the device, print a
1903                 warning message and ask if the user wants to proceed.
1904
1905 1998-03-21  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1906
1907         * mke2fs.c (check_plausibility): Fixed spelling typo in warning
1908                 message.  Fixed up -Wall warnings in file.
1909
1910 Sun Mar  8 22:21:48 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1911
1912         * partinfo.c (main): The ioctl BLKGETSIZE requires a long, not an
1913                 int. 
1914
1915 Sun Feb  1 16:53:36 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1916
1917         * badblocks.8: Update documentation to note that output format
1918                 of badblocks is suitable for use with e2fsck -l or
1919                 mke2fs -l.
1920
1921         * mke2fs.c (handle_bad_blocks): Fix bug so that all groups with
1922                 bad superblock backup blocks are printed (not just the
1923                 first one).
1924
1925 Mon Dec  1 17:01:04 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1926
1927         * badblocks.8.in: Add documentation for the -s option.
1928
1929 Fri Oct 24 23:37:52 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1930
1931         * fsck.c: 
1932         * chattr.c: Remove #include of getopt.h, since it's not needed.
1933
1934         * tune2fs.c (main): 
1935         * lsattr.c (main): 
1936         * badblocks.c (main): 
1937         * dumpe2fs.c (main): 
1938         * mke2fs.c (PRS): Make the variable which getopt returns into be
1939                 an int, so that it won't lose on platforms where char is
1940                 unsigned. 
1941
1942 Fri Oct  3 13:38:45 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1943
1944         * mke2fs.c (parse_raid_opts): Make parse_raid_opts return a void,
1945                 to fix a -Wall warning.
1946
1947 Mon Sep 15 22:07:12 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1948
1949         * tune2fs.c (main): 
1950         * mklost+found.c (main): 
1951         * lsattr.c (main): 
1952         * dumpe2fs.c (main): 
1953         * chattr.c (main): 
1954         * badblocks.c (main): Declare main to return an int, as required.
1955                 Make sure main always ends with an exit(0).  (Some
1956                 programs weren't doing this, and thus were returning a
1957                 random exit value.)
1958
1959 Mon Jul 14 15:27:29 1997  Theodore Y. Ts'o  <tytso@mit.edu>
1960
1961         * e2label.c: New file contributed by Andries Brouwer which
1962                 provides an easy-to-use interface to modify the filesystem
1963                 label.
1964         
1965         * Makefile.in (SPROGS): Add Makefile support to build e2label
1966
1967 Tue Jun 17 01:33:20 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1968
1969         * Release of E2fsprogs 1.11
1970
1971 Mon Jun 16 23:37:54 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1972
1973         * mke2fs.c (show_stats): Adjust the number of columns printed when
1974                 displaying the superblock backups to avoid running over 
1975                 80 columns when making a really big disk.
1976
1977 Thu May  8 22:22:08 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
1978
1979         * badblocks.8.in, chattr.1.in, dumpe2fs.8.in, fsck.8.in, 
1980                 mke2fs.8.in, tune2fs.8.in: Fix minor typos and grammer
1981                 oops found by Bill Hawes (whawes@star.net).
1982
1983         * mke2fs.c (test_disk): Pass the blocksize to the bad blocks
1984                 command so that all of the filesystem gets tested in the
1985                 case where the blocksize 2048 or 4096.
1986
1987 Thu Apr 24 12:16:42 1997  Theodre Ts'o  <tytso@localhost.mit.edu>
1988
1989         * Release of E2fsprogs version 1.10
1990
1991 Thu Apr 24 09:52:47 1997  Theodre Ts'o  <tytso@localhost.mit.edu>
1992
1993         * mke2fs.c: Added new option -R, which specifies RAID options.
1994                 Currently the only supported RAID option is "stride" which
1995                 specifies the stripe width in RAID filesystem.  This is
1996                 used to aid in the placement of the inode and block
1997                 bitmaps.
1998
1999         * mke2fs.8.in, tune2fs.8.in: Added warnings that the sparse
2000                 superblock option isn't yet supported by most kernels.
2001
2002 Wed Apr 23 22:42:51 1997  Theodre Ts'o  <tytso@localhost.mit.edu>
2003
2004         * mke2fs.c (PRS): Make the default filesystem revision be 0, not
2005                 1.  (Since some people are still worried about 1.2.13
2006                 compatibility).
2007
2008 Thu Apr 17 12:23:38 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2009
2010         * Release of E2fsprogs version 1.09
2011
2012 Fri Apr 11 18:57:24 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2013
2014         * chattr.1.in: Updated man page so that the 'A' attribute is
2015                 specified everywhere.
2016
2017         * chattr.c (usage): Added usage message for the 'A' attribute.
2018
2019 Fri Apr 11 18:56:26 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2020
2021         * Release of E2fsprogs version 1.08
2022
2023 Thu Apr 10 07:08:03 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2024
2025         * dumpe2fs.c (list_desc): List the offsets of the inode and block
2026                 bitmaps, and the inode table.  List the block boundaries
2027                 for the groups.
2028
2029 Sat Apr  5 11:55:52 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2030
2031         * tune2fs.c (main): Implement the -s flag allows the user to
2032                 set and reset the sparse superblock flag.
2033
2034         * mke2fs.c (PRS): By default generate DYNAMIC revision
2035                 filesystems.  The -s flag controls whether or not the
2036                 sparse superblock flag is set.
2037                 (PRS): Change to allow the user to specify the true
2038                 maximum number of blocks per group to reflect the
2039                 blocksize. 
2040
2041 Wed Mar 12 13:32:05 1997  Theodore Y. Ts'o  <tytso@mit.edu>
2042
2043         * Release of E2fsprogs version 1.07
2044
2045 Thu Mar  6 17:15:05 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2046
2047         * mke2fs.c (create_root_dir): Set the root directory's i_uid and
2048                 i_gid to be the real user and group id.
2049
2050 Tue Mar  4 10:14:33 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2051
2052         * mke2fs.c (check_plausibility): Add more intelligent error
2053                 messages when the device doesn't exist.
2054
2055 Sat Mar  1 10:43:32 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2056
2057         * fsck.c (main): Fix bug where the PATH environment variable isn't
2058                 set when it is unset.
2059
2060 Tue Jan 14 12:30:45 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2061
2062         * mke2fs.c (write_inode_tables): Fixed bug in write_inode_tables
2063                 where a loop variable was getting reused in a nested loop.
2064                 This caused the inode table to not be correctly
2065                 initialized.
2066
2067 Thu Jan  2 00:00:37 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2068
2069         * lsattr.c, chattr.c: Include string.h, since we use memcpy().
2070
2071         * findsuper.c: Use time_t for ctime(), not __u32.
2072
2073 Sat Dec 28 23:39:18 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2074
2075         * badblocks.c: Adapted -vv modifications from Rik Faith so that
2076                 they frequently update the block number field.
2077
2078         * badblocks.8.in: Document the optional start-block parameter
2079
2080 Mon Oct 14 11:52:58 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2081
2082         * mke2fs.c: Updated to use new ext2fs_allocate_tables() function.
2083
2084 Tue Oct  8 02:02:03 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2085
2086         * Release of E2fsprogs version 1.06
2087
2088 Mon Oct  7 00:56:24 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2089
2090         * chattr.1.in: Documented the 'A' (noatime) attribute.
2091
2092         * dumpe2fs.c (main): Change EXT2_SWAP to EXT2_FLAG_SWAP for
2093                 consistency's sake.
2094
2095 Sun Sep 22 16:18:47 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2096
2097         * chattr.c (decode_arg): Add support for the 'A' (noatime) flag.
2098
2099 Thu Sep 12 15:23:07 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2100
2101         * Release of E2fsprogs version 1.05
2102
2103 Sat Sep  7 07:34:11 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2104
2105         * tune2fs.c (main): Add support for new option -C, which sets the 
2106                 current number of mounts.
2107                 (main): Allow the interval to be specified in seconds,
2108                 mostly for debugging.
2109
2110 Tue Aug 27 17:27:43 1996  Miles Bader  <miles@gnu.ai.mit.edu>
2111
2112         * Makefile.in (SMANPAGES): Use @FSCK_MAN@ instead of fsck.8.
2113         (SPROGS): Use @FSCK_PROG@ instead of fsck.
2114
2115 Thu Aug 22 00:51:44 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2116
2117         * mke2fs.c (zap_bootblock): Don't do zap_bootblock on a
2118                 sparc.
2119
2120 Tue Aug 20 00:15:46 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2121
2122         * chattr.c (main): Fixed bug so that chattr -v works.  (Bug report
2123                 and fix sent by Charles Howes, chowes@eznet.ca)
2124
2125 Fri Aug  9 11:52:42 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2126
2127         * tune2fs.8.in:
2128         * tune2fs.c: Added support for the -L option which sets the volume
2129                 label, the -M option which sets the last mounted
2130                 directory, and the -U option which sets the filesystem UUID.
2131
2132         * mke2fs.8.in:
2133         * mke2fs.c: Added support for the -o option, which overrides the
2134                 creator OS.  Generate a UUID for the filesystem, if
2135                 applicable.  Added support for the -L option which sets
2136                 the volume label, and the -M option which sets the last
2137                 mounted directory.
2138
2139 Sat Jun 22 17:43:17 1996  Remy Card  <card@bbj.linux.eu.org>
2140
2141         * chattr.c (decode_arg): Integrated Michael Nonweiler's fix to
2142                 avoid a segmentation fault when the "-v" option is used
2143                 and no version number is specified.
2144         
2145 Thu May 16 11:12:30 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2146
2147         * Release of E2fsprogs version 1.04
2148
2149 Wed May 15 21:15:43 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
2150
2151         * Makefile.in (fsck): fsck doesn't need to be linked with the ext2
2152                 libraries.
2153
2154 Wed Mar 27 00:33:40 1996    <tytso@rsts-11.mit.edu>
2155
2156         * Release of E2fsprogs version 1.03
2157
2158 Thu Mar  7 03:43:20 1996    <tytso@rsts-11.mit.edu>
2159
2160         * mke2fs.c (PRS): Add (for development only) support to
2161                 specify revision and inode size of the new filesystem.
2162
2163 Tue Mar  5 03:51:35 1996    <tytso@rsts-11.mit.edu>
2164
2165         * mke2fs.8.in: Fix a few minor typo's in the man page.
2166
2167         * mke2fs.c (reserve_inodes): Add support for dynamic first inode
2168                 revision.
2169
2170 Mon Feb  5 22:19:49 1996    <tytso@rsts-11.mit.edu>
2171
2172         * fsck.c (check_all, PRS): Added new flag -P, which turns on the
2173                 parallel root option.  This allows you to check the root
2174                 filesystem in parallel with the other filesystems.  Note
2175                 that this is not the safest thing in the world to do,
2176                 since if the root filesystem is in doubt things like
2177                 the e2fsck executable might be corrupted!  But some
2178                 sysadmins, who don't want to repartition the root
2179                 filesystem to be small and compact, may really want this
2180                 option turned on.
2181
2182 Wed Jan 31 11:06:08 1996    <tytso@rsts-11.mit.edu>
2183
2184         * Release of E2fsprogs version 1.02
2185
2186 Tue Oct 30 21:14:12 1995    <tytso@rsts-11.mit.edu>
2187
2188         * mke2fs.c (check_plausibility): Add check to warn user if they
2189                 are trying to mke2fs the whole disk.  (/dev/hda
2190                 vs. /dev/hda1)
2191
2192 Fri Dec 15 19:09:56 1995    <tytso@rsts-11.mit.edu>
2193
2194         * fsck.c (check_all): If we break out of the loop because we are
2195                 serializing and have just started at fsck we haven't
2196                 finished the pass. We need to go round again in case there
2197                 are more filesystems to be done in this pass.  (Patch
2198                 submitted by Mike Jagdis)
2199
2200 Sat Dec  9 10:07:16 1995    <tytso@rsts-11.mit.edu>
2201
2202         * dumpe2fs.c (in_use): test_bit() was renamed to
2203                 ext2fs_test_bit().
2204
2205 Mon Oct 30 20:21:18 1995    <tytso@rsts-11.mit.edu>
2206
2207         * fsck.c (fsck_device): Check fstype instead of type; this was a
2208                 stupid typo which caused coredumps in some cases.
2209
2210 Thu Oct 26 12:05:18 1995    <tytso@rsts-11.mit.edu>
2211
2212         * Makefile.in (install): Strip programs when they are installed.
2213
2214 Fri Aug 18 15:10:40 1995  Theodore Y. Ts'o  <tytso@dcl>
2215
2216         * mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
2217                 so we do the check to see if the filesystem is mounted
2218                 *before* we try to determine the size of the device.
2219
2220 Wed Sep  6 23:34:07 1995  Remy Card  <card@bbj>
2221
2222         * fsck.c (load_fs_info): Load the informations from /etc/fstab in
2223                 the same order.
2224
2225 Thu Aug 17 22:33:09 1995    <tytso@rsts-11.mit.edu>
2226
2227         * mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
2228                 function to determine if the device is mounted.
2229
2230         * mke2fs.c (PRS): Change call to use the new
2231                 ext2fs_get_device_size() function in order to determine
2232                 the size of the filesystem.  Remove get_size() and
2233                 is_valid_offset(), which are no longer called.
2234
2235 Fri Aug 11 08:26:24 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
2236
2237         * fsck.c (fsck_device): Make sure fstype has been set by the user
2238                 and that it does not begin with "no" and the user has
2239                 specified exactly one type before using it as the type to
2240                 check.
2241
2242 Fri Aug 11 14:17:18 1995  Remy Card  <card@bbj>
2243
2244         * badblocks.8:
2245         * chattr.1:
2246         * dumpe2fs.8:
2247         * fsck.8:
2248         * lsattr.1:
2249         * mke2fs.8:
2250         * mklost+found.8:
2251         * tune2fs.8: Updated date and version number.
2252
2253 Thu Aug 10 14:18:36 1995  Remy Card  <card@bbj>
2254
2255         * tune2fs.c: Fixed a bug which prevented the use of user and group
2256                 names with the -g and -u options.  Thanks to Jean Christophe
2257                 ANDRE <progfou@mycrob.cafard.freenix.fr>.
2258
2259         * mke2fs.8:
2260         * tune2fs.8: Fixed a spelling error in Ted's name :-)
2261
2262 Wed Aug  9 20:41:54 1995  Theodore Y. Ts'o  <tytso@dcl>
2263
2264         * mke2fs.c (count_blocks): Divide the size by
2265                 EXT2_BLOCK_SIZE(&param), instead of assuming that the
2266                 blocksize is always 1024 bytes.
2267
2268 Sat Aug  5 12:00:51 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
2269
2270         * mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
2271                 not portable!!  In any case putenv() in some systems must
2272                 take a static character array or malloc()'ed memory;
2273                 passing memory allocated using alloca() to putenv() is not
2274                 advisable.
2275
2276         * chattr.c (chattr_dir_proc): 
2277         * lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
2278                 alloca is not portable!
2279
2280         * fsck.c (fsck_device): If the filesystem type is specified by the
2281                 user using the -t option, let it override the type in
2282                 /etc/fstab.
2283
2284         * fsck.c (strdup): Don't build strdup() if the system defines it.
2285
2286 Mon Jun 12 19:15:10 1995  Theodore Y. Ts'o  (tytso@dcl)
2287
2288         * chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
2289                 benefit.
2290
2291         * The $(UPROGS) go in bin, not sbin.
2292
2293         * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
2294                 tune2fs.c:  Don't include <getopt.h> if it doesn't exist.
2295
2296 Mon Jun 12 16:36:04 1995  Theodore Y. Ts'o  <tytso@dcl>
2297
2298         * badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
2299                 tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
2300
2301 Sat Jun 10 23:37:09 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>
2302
2303         * chattr.c: Include errno.h, since we use errno
2304
2305         * fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
2306                 explicitly initialize filesys_info to be NULL.
2307
2308         * mke2fs.c: Include the stdio.h and errno.h header files
2309
2310 Thu Jun  8 13:25:23 1995  Miles Bader  <miles@churchy.gnu.ai.mit.edu>
2311
2312         * mke2fs.c: Only include <linux/fs.h> if we can.
2313         (get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
2314         (check_mount): Only check to see if the device is mounted if
2315         HAVE_MNTENT_H is defined (by configure).
2316
2317         * fsck.c (load_fs_info): Only try to get info about filesystems if
2318         HAVE_MNTENT_H is defined (by configure).
2319         (main): Allocate space for a new fsck_path instead of append to a
2320         statically sized buffer.
2321         (PRS): Use alloca to allocate the new path string, instead of
2322         having a fixed size buffer (which was the wrong size anyway).
2323
2324         * chattr.c (chattr_dir_proc): Use alloca to allocate space for a
2325         filename instead of using a fixed-size buffer.
2326         * lsattr.c (lsattr_dir_proc): Ditto.
2327         * mklost+fond.c (main): Calculate the actual needed size for the
2328         path buffer instead of using MAXPATHLEN (which not all systems have).
2329
2330         * badblocks.c: Only include linux include files if we have them.
2331         (flush_bufs): New function to flush a block device, optionally
2332         syncing it first.  This replaces other copies of this code.
2333         (test_ro): Replace calls to ioctl with flush_bufs().
2334         (test_rw): Ditto.
2335
2336         * Makefile.in: Rewritten to conform to GNU coding standards and
2337         support separate compilation directories.
2338
2339 Sat Mar 11 10:59:58 1995  Theodore Y. Ts'o  <tytso@localhost>
2340
2341         * mke2fs.c (main, zap_bootblock): Added new function
2342                 zap_bootblock() which clears the first 512 bytes of the
2343                 filesystem.  This protects the filesystem from being
2344                 misidentified as a MS-DOS FAT filesystem.
2345
2346         * badblocks.c (alarm_intr, test_ro, test_rw): Increase the space
2347                 allocated for printing the block numbers, so that the
2348                 display doesn't get corrupted when running badblocks on a
2349                 very large partition.
2350
2351         * badblocks.c (do_test, test_ro, test_rw): Added missing cast to
2352                 ext2_loff_t, so that when checking a large device,
2353                 spurious seek errors aren't reported.
2354
2355         * mke2fs.c (count_blocks): Declare mid to be of type ext2_loff_t
2356                 instead of type int, so that it works for filesystems
2357                 greater than 2 GB.  (Fortunately count_blocks is only
2358                 called if the device does not support the BLKGETSIZE
2359                 ioctl, which most do.)
2360
2361         * fsck.c (ignore): Add check to ignore filesystems with a pass
2362                 number of zero.  (This check was accidentally deleted at
2363                 during 0.5b development.)
2364
2365 Sat Dec 31 00:47:16 1994    <tytso@rsx-11.mit.edu>
2366
2367         * mke2fs.c (new_table_block, alloc_tables, PRS, main): Add a new
2368                 option, -S, which only writes the superblock and group
2369                 descriptors.  Useful for recovering when all of the
2370                 superblocks are corrupted somehow (as a last ditch
2371                 measure).
2372
2373                 Also, don't bother initializing the bitmap blocks in
2374                 alloc_tables(), since they will be overwritten at the end
2375                 anyway.  (Should speed up mke2fs by a little.)
2376
2377 Tue Dec  6 02:20:55 1994    <tytso@rsx-11.mit.edu>
2378
2379         * fsck.c (main): Fix stupid typo where a null inst would be freed. 
2380
2381         * fsck.c (wait_one): Check WIFEXITED on status before trying to
2382                 extract the exit status.  In other cases, return
2383                 FSCK_ERROR if the back end processor exited with a signal.
2384
2385 Tue Nov 15 10:20:00 1994  Remy Card  <card@bbj>
2386
2387         * tune2fs.c (main): Fixed a bug which prevented the use of the
2388                 new options.
2389         Added the `w' (week) suffix recognition in the check interval.
2390
2391 Sun Nov 13 15:58:48 1994    (tytso@rsx-11)
2392
2393         * fsck.c (load_fs_info): If the user has an obviously old
2394                 /etc/fstab file, issue a warning message and assume that
2395                 all partitions should be checked.
2396
2397 Sat Nov 12 00:33:18 1994    (tytso@rsx-11)
2398
2399         * dumpe2fs.c (list_desc): Update to new inode and block bitmap
2400                 structures. 
2401
2402         * mke2fs.c (create_root_dir): Create the root directory owned by
2403                 the effective uid.
2404
2405 Mon Nov  7 22:04:37 1994  Remy Card  <card@bbj>
2406
2407         * tune2fs.c (main.c): Added support for new options:
2408         -r reserved_blocks_count, -g reserved_gid, -u reserved_uid.
2409
2410 Sun Aug 21 00:57:33 1994  Theodore Y. Ts'o  (tytso@rt-11)
2411
2412         * fsck.c (ignore): If the pass number is 0, ignore the filesystem.
2413
2414 Wed Aug 17 21:55:03 1994  Remy Card  (card@bbj)
2415
2416         * badblocks.c (test_rw): Added verbose output like in the
2417         read-only test.
2418
2419         (do_test and test_rw): Use the llseek system call if available.
2420
2421         * chattr.c: Added support for new attributes.
2422
2423         * lsattr.c: Added support for long format.
2424
2425         * mke2fs.c (usage): Fixed bogus usage message.
2426
2427         (valid_offset): Use the llseek system call if available.
2428
2429 Wed Aug 17 10:50:57 1994  Theodore Y. Ts'o  (tytso@rt-11)
2430
2431         * mke2fs.c (handle_bad_blocks): Check to see if a bad block is
2432         where a backup superblock/group descriptor is stored.  If so,
2433         print a warning message and adjust the superblock counts so that
2434         they are correct.  (Otherwise, the bad block will get counted
2435         twice and the # of free blocks count will be wrong.)
2436
2437         (alloc_tables): Removed code which calcualated the free block
2438         statistics, which was moved to lib/ext2fs/initialize.c.  This
2439         allows the bad block code to adjust the group descriptor
2440         statistics if necessary.