xref: /aosp_15_r20/external/e2fsprogs/doc/RelNotes/v1.19.txt (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.19 (July 13, 2000)
2*6a54128fSAndroid Build Coastguard Worker==============================
3*6a54128fSAndroid Build Coastguard Worker
4*6a54128fSAndroid Build Coastguard WorkerRelease the resize2fs program since the timeout before it could
5*6a54128fSAndroid Build Coastguard Workerbe released under the GPL has finally expired.
6*6a54128fSAndroid Build Coastguard Worker
7*6a54128fSAndroid Build Coastguard WorkerAdd experimental support needed for the ext2 compression patches.
8*6a54128fSAndroid Build Coastguard WorkerThis requires compiling e2fsprogs with the --enable-compression flag
9*6a54128fSAndroid Build Coastguard Workerto the configure script.
10*6a54128fSAndroid Build Coastguard Worker
11*6a54128fSAndroid Build Coastguard WorkerAdded ext3 journalling support.  E2fsck will run the journal (if
12*6a54128fSAndroid Build Coastguard Workernecessary) by temporarily mounting the filesystem.  /sbin/fsck.ext3 is
13*6a54128fSAndroid Build Coastguard Workerinstalled as a symlink to e2fsck.  Fsck has been taught about ext3,
14*6a54128fSAndroid Build Coastguard Workerand treats it the same as ext2 in terms of the progress bar logic.
15*6a54128fSAndroid Build Coastguard WorkerDumpe2fs will display the superblock journalling information if the
16*6a54128fSAndroid Build Coastguard Workerfilesystem has a journal.  The ext2 library will now permit opening an
17*6a54128fSAndroid Build Coastguard Workerext3 filesystem with the recovery flag set.  This is necessary for
18*6a54128fSAndroid Build Coastguard Workeron-line dump's to work correctly, but there may be issues with this
19*6a54128fSAndroid Build Coastguard Workerworking well since ext3 is much less aggressive about syncing blocks to
20*6a54128fSAndroid Build Coastguard Workerthe filesystem, since they're safe on the journal.
21*6a54128fSAndroid Build Coastguard Worker
22*6a54128fSAndroid Build Coastguard WorkerTune2fs and e2fsck have been changed to allow the mount_count check to
23*6a54128fSAndroid Build Coastguard Workerbe disabled by setting max_mount_count to -1.  (This was already
24*6a54128fSAndroid Build Coastguard Workersupported by the kernel.)
25*6a54128fSAndroid Build Coastguard Worker
26*6a54128fSAndroid Build Coastguard WorkerCreate a symbolic link for fsck.ext3, since the e2fsprogs utilities
27*6a54128fSAndroid Build Coastguard Workerare used for ext3 as well.
28*6a54128fSAndroid Build Coastguard Worker
29*6a54128fSAndroid Build Coastguard WorkerAdded internationalization support for e2fsprogs; must be enabled
30*6a54128fSAndroid Build Coastguard Workerby passing --enable-nls to configure.
31*6a54128fSAndroid Build Coastguard Worker
32*6a54128fSAndroid Build Coastguard WorkerAlways use the provided ext2fs header files to insulate ourselves from
33*6a54128fSAndroid Build Coastguard Workerkernel version changes.  Which include files are used by e2fsprogs
34*6a54128fSAndroid Build Coastguard Workerhave also been cleaned up to improve portability.
35*6a54128fSAndroid Build Coastguard Worker
36*6a54128fSAndroid Build Coastguard WorkerLimit the number of times that e2fsck updates the progress bar so that
37*6a54128fSAndroid Build Coastguard Workerpeople who are booting using a 9600 baud console don't get swamped by
38*6a54128fSAndroid Build Coastguard Workertoo many updates.
39*6a54128fSAndroid Build Coastguard Worker
40*6a54128fSAndroid Build Coastguard WorkerImproved the loop detection algorithm in e2sck's pass #3 so that it is
41*6a54128fSAndroid Build Coastguard Workermuch, much faster for large filesystems with a large number of
42*6a54128fSAndroid Build Coastguard Workerdirectories.
43*6a54128fSAndroid Build Coastguard Worker
44*6a54128fSAndroid Build Coastguard WorkerThe memory footprint for e2fsck is now slightly smaller than before.
45*6a54128fSAndroid Build Coastguard Worker
46*6a54128fSAndroid Build Coastguard WorkerE2fsck now checks if special devices have a non-zero size, and offers
47*6a54128fSAndroid Build Coastguard Workerto clear the size field if it finds such an inode.
48*6a54128fSAndroid Build Coastguard Worker
49*6a54128fSAndroid Build Coastguard WorkerE2fsck now checks if special devices have the append-only flag set,
50*6a54128fSAndroid Build Coastguard Workerand offers to clear the inode.
51*6a54128fSAndroid Build Coastguard Worker
52*6a54128fSAndroid Build Coastguard WorkerE2fsck now properly handles some "should never fail" cases during a
53*6a54128fSAndroid Build Coastguard Workerbitmap copy in pass5.
54*6a54128fSAndroid Build Coastguard Worker
55*6a54128fSAndroid Build Coastguard WorkerE2fsck now properly prints control characters in filenames as ^A .. ^Z.
56*6a54128fSAndroid Build Coastguard Worker
57*6a54128fSAndroid Build Coastguard WorkerE2fsck now calculates the correct location of the backup superblock in
58*6a54128fSAndroid Build Coastguard Workerthe case of filesystem blocksizes > 1k.
59*6a54128fSAndroid Build Coastguard Worker
60*6a54128fSAndroid Build Coastguard WorkerFixed a bug in e2fsck's calculation of the number of inodes_per_block
61*6a54128fSAndroid Build Coastguard Workerwhich normally didn't cause problems under most filesystem parameters,
62*6a54128fSAndroid Build Coastguard Workerbut could cause a valid superblock to be rejected in extreme cases.
63*6a54128fSAndroid Build Coastguard WorkerOther checks for validating superblock values were made more
64*6a54128fSAndroid Build Coastguard Workerstringent.
65*6a54128fSAndroid Build Coastguard Worker
66*6a54128fSAndroid Build Coastguard WorkerAdded non-destructive write testing to the badblocks program, courtesy
67*6a54128fSAndroid Build Coastguard Workerof David Beattie.  The badblocks also now has an option to input the
68*6a54128fSAndroid Build Coastguard Workercurrent set of bad blocks, so that known bad blocks are skipped to
69*6a54128fSAndroid Build Coastguard Workerspeed up the badblocks test.  There is also a persistent rescan
70*6a54128fSAndroid Build Coastguard Workerfeature which causes badblocks to run until it has completed some
71*6a54128fSAndroid Build Coastguard Workernumber of passes without discovering any new bad blocks.
72*6a54128fSAndroid Build Coastguard Worker
73*6a54128fSAndroid Build Coastguard WorkerBadblocks now checks to see if the device is mounted and refuses to do
74*6a54128fSAndroid Build Coastguard Workerthe tests involving writing to the device if it is mounted.  Also,
75*6a54128fSAndroid Build Coastguard Workerbadblocks now allows the number of blocks to be checked to be
76*6a54128fSAndroid Build Coastguard Workerdefaulted to the size of the partition.
77*6a54128fSAndroid Build Coastguard Worker
78*6a54128fSAndroid Build Coastguard WorkerFixed a bug in fsck which didn't allow non-root users to be able to
79*6a54128fSAndroid Build Coastguard Workercheck filesystems if there were any LABEL= or UUID= entries in
80*6a54128fSAndroid Build Coastguard Worker/etc/fstab.
81*6a54128fSAndroid Build Coastguard Worker
82*6a54128fSAndroid Build Coastguard WorkerThe Hurd doesn't support the filetype filesystem feature.  The mke2fs
83*6a54128fSAndroid Build Coastguard Workerprogram now makes sure that for the Hurd, the filetype feature is
84*6a54128fSAndroid Build Coastguard Workerturned off.  E2fsck will check to see if the filetype feature is
85*6a54128fSAndroid Build Coastguard Workerturned on for Hurd filesystems, and offer to turn off the feature.
86*6a54128fSAndroid Build Coastguard Worker
87*6a54128fSAndroid Build Coastguard WorkerMke2fs now has a safety check to make sure the number of blocks do not
88*6a54128fSAndroid Build Coastguard Workerexceed 32 bits even on a 64 bit platform.
89*6a54128fSAndroid Build Coastguard Worker
90*6a54128fSAndroid Build Coastguard WorkerReally fixed a bug in fsck to allow "fsck -As" to run interactive
91*6a54128fSAndroid Build Coastguard Workerfsck's.  (For those people who like to do interactive fsck's in the
92*6a54128fSAndroid Build Coastguard Worker/etc/rc scripts!?!)
93*6a54128fSAndroid Build Coastguard Worker
94*6a54128fSAndroid Build Coastguard WorkerDebugfs has a few new features: the rdump command, which will do a
95*6a54128fSAndroid Build Coastguard Workerrecursive dump of a directory and all of its contents, and the lcd
96*6a54128fSAndroid Build Coastguard Workercommand which does a local chdir (much like the ftp command of the
97*6a54128fSAndroid Build Coastguard Workersame name).  In addition, the debugfs program and the open_filesystem
98*6a54128fSAndroid Build Coastguard Workercommand now takes three new options: -b and -s, which allows the
99*6a54128fSAndroid Build Coastguard Workerblocksize and superblock location to be specified, and the -c option
100*6a54128fSAndroid Build Coastguard Workerwhich is used in catastrophic situations where the block group
101*6a54128fSAndroid Build Coastguard Workerdescriptors are corrupt.  If the -c option is specified, debugfs will
102*6a54128fSAndroid Build Coastguard Workerskip trying to read in the block and inode bitmaps.
103*6a54128fSAndroid Build Coastguard Worker
104*6a54128fSAndroid Build Coastguard WorkerDebugfs's lsdel command was fixed to handle bad blocks in the inode
105*6a54128fSAndroid Build Coastguard Workertable.
106*6a54128fSAndroid Build Coastguard Worker
107*6a54128fSAndroid Build Coastguard WorkerA Y2K bug in debugfs's "ls -l" handling was fixed by switching to use
108*6a54128fSAndroid Build Coastguard Worker4 digit years.
109*6a54128fSAndroid Build Coastguard Worker
110*6a54128fSAndroid Build Coastguard WorkerGeneral improvements in error messages
111*6a54128fSAndroid Build Coastguard Worker
112*6a54128fSAndroid Build Coastguard Worker  - Mke2fs prints a sane error message if the partition size is zero
113*6a54128fSAndroid Build Coastguard Worker	(usually because the partition table wasn't reread by the
114*6a54128fSAndroid Build Coastguard Worker	kernel due to the partition being busy), instead of "invalid
115*6a54128fSAndroid Build Coastguard Worker	argument passed to ext2 library while initializing superblock".
116*6a54128fSAndroid Build Coastguard Worker
117*6a54128fSAndroid Build Coastguard Worker  - Fsck now prints more self-explanatory message if an invalid UUID=
118*6a54128fSAndroid Build Coastguard Worker	or LABEL= specification is passed to it.
119*6a54128fSAndroid Build Coastguard Worker
120*6a54128fSAndroid Build Coastguard WorkerUUID library changed to use the LGPL.
121*6a54128fSAndroid Build Coastguard Worker
122*6a54128fSAndroid Build Coastguard WorkerFixed a bug in the UUID library where very rapid calls to the
123*6a54128fSAndroid Build Coastguard Workertime-based UUID generator could cause duplicate UUID's to be returned.
124*6a54128fSAndroid Build Coastguard WorkerThis was not a problem for e2fsprogs, but it could be a problem for
125*6a54128fSAndroid Build Coastguard Workerother users of the library.
126*6a54128fSAndroid Build Coastguard Worker
127*6a54128fSAndroid Build Coastguard WorkerMake the UUID library more robust in the face of missing or an
128*6a54128fSAndroid Build Coastguard Workerimproper /dev/urandom or /dev/random files.
129*6a54128fSAndroid Build Coastguard Worker
130*6a54128fSAndroid Build Coastguard WorkerAdded some random portability fixes for Solaris.
131*6a54128fSAndroid Build Coastguard Worker
132*6a54128fSAndroid Build Coastguard WorkerSome minor man page updates.
133*6a54128fSAndroid Build Coastguard Worker
134*6a54128fSAndroid Build Coastguard WorkerFixed a memory leak in the ss library.
135*6a54128fSAndroid Build Coastguard Worker
136*6a54128fSAndroid Build Coastguard Worker
137*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes:
138*6a54128fSAndroid Build Coastguard Worker-------------------
139*6a54128fSAndroid Build Coastguard Worker
140*6a54128fSAndroid Build Coastguard WorkerWe now try to use lseek64 and open64 from the LFS if possible.
141*6a54128fSAndroid Build Coastguard Worker
142*6a54128fSAndroid Build Coastguard WorkerThe 3rd parameter in e2p's print_flags is now a flags word, instead of
143*6a54128fSAndroid Build Coastguard Workera boolean option.
144*6a54128fSAndroid Build Coastguard Worker
145*6a54128fSAndroid Build Coastguard WorkerThe mark and unmark bitmap functions now return the previous state of
146*6a54128fSAndroid Build Coastguard Workerthe bit that was being changed, which is useful for some speed
147*6a54128fSAndroid Build Coastguard Workeroptimizations.
148*6a54128fSAndroid Build Coastguard Worker
149*6a54128fSAndroid Build Coastguard WorkerThe following functions have been added to enhance the badblocks list
150*6a54128fSAndroid Build Coastguard Workerhandling in libext2fs: ext2fs_write_bb_FILE, ext2fs_read_bb_FILE2, and
151*6a54128fSAndroid Build Coastguard Workerext2fs_badblocks_equal.
152*6a54128fSAndroid Build Coastguard Worker
153*6a54128fSAndroid Build Coastguard WorkerThe ext2 header files now have the latest journalling fields to the
154*6a54128fSAndroid Build Coastguard Workersuperblock.
155*6a54128fSAndroid Build Coastguard Worker
156*6a54128fSAndroid Build Coastguard WorkerThe ext2fs_mkdir function in libext2fs now properly backs out of error
157*6a54128fSAndroid Build Coastguard Workerconditions robustly.
158*6a54128fSAndroid Build Coastguard Worker
159*6a54128fSAndroid Build Coastguard WorkerCleaned up makefiles:
160*6a54128fSAndroid Build Coastguard Worker  - to cleanly  compile with the -j flag.
161*6a54128fSAndroid Build Coastguard Worker  - so distclean removes all generated files.
162*6a54128fSAndroid Build Coastguard Worker  - so in case of an error while installing header files, the make aborts.
163*6a54128fSAndroid Build Coastguard Worker
164*6a54128fSAndroid Build Coastguard WorkerFix test_script so that it works correctly when compiling in the
165*6a54128fSAndroid Build Coastguard Workersource directory.
166*6a54128fSAndroid Build Coastguard Worker
167*6a54128fSAndroid Build Coastguard WorkerThe random UUID generation routine has been made slightly better in
168*6a54128fSAndroid Build Coastguard Workerthe case where /dev/random doesn't exist.  (Use of randomly-based UUID
169*6a54128fSAndroid Build Coastguard Workeris still not recommended if /dev/random doesn't exist, however; it's
170*6a54128fSAndroid Build Coastguard Workerbetter to use the time/ethernet MAC address UUID in this case.)
171*6a54128fSAndroid Build Coastguard Worker
172*6a54128fSAndroid Build Coastguard WorkerClean up the build process so it's more friendly in case of missing
173*6a54128fSAndroid Build Coastguard Workerdirectories.
174*6a54128fSAndroid Build Coastguard Worker
175*6a54128fSAndroid Build Coastguard WorkerThe ext2fs header file can now be #include'd into C++ programs.
176*6a54128fSAndroid Build Coastguard Worker
177*6a54128fSAndroid Build Coastguard WorkerThe e2p.h header file is now installed.
178*6a54128fSAndroid Build Coastguard Worker
179*6a54128fSAndroid Build Coastguard WorkerAdded workaround to a gawk 3.0.5 bug in lib/ss/mk_cmds.
180*6a54128fSAndroid Build Coastguard Worker
181