• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1E2fsprogs 1.28 (August 31, 2002)
2================================
3
4Add support for the Hashed-Tree Directory Indexing to e2fsck.  Support
5for setting the htree flag is not included yet, although it can be
6manually turned on via the debugfs program.
7
8Clarified e2fsck error message which is printed when it cannot find
9sufficient contiguous block when relocating filesystem metadata.
10
11Added support for building an EVMS plugin module for ext2/3.  This
12module is substantially the same as the EVMS module shipping with EVMS
131.1, with one or two bugfixes.  E2fsprogs can also build this plugin
14for use with EVMS 1.0 (which did not include the ext2 plugin module),
15if the configure --enable-old-evms flag is given.
16
17Fsck will search through EVMS volumes when trying to resolve
18filesystem specifications such as LABEL=xxx or UUID=xxx.
19
20Added a new utility program, /sbin/findfs, which will return
21filesystem specifications such as LABEL=xxx or UUID=xxx, and prints
22the device name.
23
24Update and clarified various man pages. (addresses Debian Bug #145044,
25#146437, #131350, #151990, #144621, #141938)
26
27If there are no filesystems specified on fsck's command line, fsck now
28treat that as if the -As options were given.  Previously it would
29simply do nothing.  (Addresses Debian Bug #153102)
30
31Mke2fs no longer treats a failure to be able to clear the MD signature
32at the end of the filesystem as a fatal error.  (Addresses Debian Bug
33#155007)
34
35The e2p library functions (which are used by lsattr and chattr) now
36double check to make sure the file is a regular file or directory
37before attempting to use the ext2 ioctls.  Some device drivers
38unfortunately respond to the ext2 ioctl's with unknown behaviour.
39(Addresses Debian Bug #152029).
40
41The extended attribute handling has been updated to correspond with
42the latest V2 bestbits ACL code.
43
44Fixed bug in e2fsck which caused it to not clear the dtime field when
45processing truncated inodes on the orphan list.  This could cause data
46loss(!) if a filesystem is rebooted before a truncate has been
47committed.
48
49E2fsck now uses red/black trees in pass1b, which removes some O(n**2)
50algorithms.  This makes e2fsck much faster in the case of severely
51corrupted filesystems where a large number of blocks are claimed by a
52large number of inodes.  (Thanks to the 2.5 IDE device driver for
53inspiring this work.)
54
55Resize2fs has been significantly sped up when shrinking and expanding
56a filesystem by a very small number of blocks (for example, when EVMS
57is converting a partition to be an EVMS legacy volume).
58
59Added a new option to e2fsck, -D, which will optimize or compress all
60of the directories in the filesystem.
61
62E2fsck now catches SIGINT and SIGTERM to make sure it will can
63properly clean up and only exit at safe points.  Fsck will pass
64SIGINT/SIGTERM to its child processes, and wait until they have all
65exited before it exits.
66
67The uuid parsing code in the uuid library now properly complains when
68an illegally formatted uuid is presented to it.  (Addresses Debian bug
69#152891)
70
71Restrict use of the 2.4 setrlimit ABI f*ckup to kernels between 2.4.10
72and 2.4.17, since the workaround can cause problems when using a 2.4
73kernel with an old version of glibc built with the 2.2 headers.
74
75Fixed a bug in mke2fs where it wasn't properly clearing the initial
76superblock used by other filesystems.  (Addresses Debian bug #147256.)
77
78Added support for the synchronous directory feature written by Andrew
79Morton.
80
81The debugfs program can delete directories using the rmdir command.
82
83Add support for 8k and 16k filesystems (for systems with page sizes
84that are greater or equal to 8k or 16k, respectively).  Note that
85these filesystems can not be mounted on x86 systems, or other systems
86with only 4k page sizes, due to limitations in the current Linux VM
87code.
88
89Resize2fs requires that the filesystem state be valid and have no
90errors; otherwise, e2fsck -f must be run first.  (Previously it simply
91required that the last fsck time be greater than the last mount time.)
92
93Configure now defaults the man pages directory to /usr/share/man on
94Linux systems.
95
96E2fsck now offers to truncate inodes which contain too many blocks (so
97that i_blocks would overflow.  Also fixed handling of large sparse
98files.
99
100E2fsck now more completely checks for symlink validity, including
101requiring NULL termination and length checks.
102
103E2fsck will offer to try forcing a disk write to remap a bad block
104after finding a read error when reading a filesystem metadata block.
105
106Fixed a bug in debugfs which caused the -b and -s options to crash
107debugfs, as well as breaking the testb, setb, and clearb functions.
108
109Added a bmap command to debugfs which calculates the logical to
110physical block mapping for a particular inode.
111
112Fixed a bug in code which checked to see if a device was mounted which
113sometimes (rarely) failed in the case of a plain file.
114
115Fixed a bug in resize2fs where when it reported an error, it would
116print a message erroneously indicating that the filesystem had been
117resized before it aborted.
118
119When resizing a plain file which is smaller than the requested size,
120resize2fs will attempt to extended the file so that programs like
121e2fsck will not complain that the file is too small.
122
123Resize2fs will print the actual new size of the filesystem when it is
124finished resizing.
125
126Fixed a bug in debugfs where "ls -l" would report incorrect file type
127information on big-endian systems.
128
129
130Programmer's notes:
131-------------------
132
133Fixed collisions with C++ reserved words.
134
135Added portability fixes for building e2fsprogs on the HURD and AIX.
136
137Added the ext2ed program for creation of test cases.  (ext2ed has many
138limitations and bugs which make it unsuitable for production use.)
139
140The ext2fs_read_dir_block2 and ext2fs_write_dir_block now take a new
141flag, EXT2_DIRBLOCK_V2_STRUCT, which will will reverse when the
142name_len field is byte swapped on big-endian machines, since in the
143V2 structure, name_len is a char field which is doesn't need to be
144byte swapped --- except if an old-style kernel had byte-swapped the
145name_len field as part of the V1 structure.
146
147