xref: /aosp_15_r20/external/e2fsprogs/doc/RelNotes/v1.07.txt (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.07 (March 9, 1997)
2*6a54128fSAndroid Build Coastguard Worker==============================
3*6a54128fSAndroid Build Coastguard Worker
4*6a54128fSAndroid Build Coastguard WorkerE2fsck is now uses much less memory when checking really large
5*6a54128fSAndroid Build Coastguard Workerfilesystems (or rather, filesystems with a large number of inodes).
6*6a54128fSAndroid Build Coastguard WorkerPreviously a filesystem with 1 million inodes required 4 megabytes of
7*6a54128fSAndroid Build Coastguard Workermemory to store inode count statistics; that storage requirement has
8*6a54128fSAndroid Build Coastguard Workernow been reduced to roughly half a megabyte.
9*6a54128fSAndroid Build Coastguard Worker
10*6a54128fSAndroid Build Coastguard WorkerE2fsck can now properly deal with bad blocks appearing inside the
11*6a54128fSAndroid Build Coastguard Workerinode table.  Instead of trying to relocate the inode table (which
12*6a54128fSAndroid Build Coastguard Workeroften failed because there wasn't enough space), the inodes in the bad
13*6a54128fSAndroid Build Coastguard Workerblock are marked as in use.
14*6a54128fSAndroid Build Coastguard Worker
15*6a54128fSAndroid Build Coastguard WorkerE2fsck will automatically try to use the backup superblocks if the
16*6a54128fSAndroid Build Coastguard Workerprimary superblocks have a bad magic number or have missing meta-data
17*6a54128fSAndroid Build Coastguard Workerblocks (or meta-data blocks which are out of range).
18*6a54128fSAndroid Build Coastguard Worker
19*6a54128fSAndroid Build Coastguard WorkerE2fsck's pass 3 has been made more efficient; most noticeable on
20*6a54128fSAndroid Build Coastguard Workerfilesystems with a very large number of directories.
21*6a54128fSAndroid Build Coastguard Worker
22*6a54128fSAndroid Build Coastguard WorkerCompletely revamped e2fsck's system of printing problem reports.  It
23*6a54128fSAndroid Build Coastguard Workeris now table driven, to make them more easily customizable and
24*6a54128fSAndroid Build Coastguard Workerextendable.  Error messages which can be printed out during preen mode
25*6a54128fSAndroid Build Coastguard Workerare now one line long.
26*6a54128fSAndroid Build Coastguard Worker
27*6a54128fSAndroid Build Coastguard WorkerFixed e2fsck's filesystem swapping code so that it won't try to swap
28*6a54128fSAndroid Build Coastguard Workerfast symbolic links or deleted files.
29*6a54128fSAndroid Build Coastguard Worker
30*6a54128fSAndroid Build Coastguard WorkerFixed e2fsck core dumping when fixing a filesystem which has no
31*6a54128fSAndroid Build Coastguard Workerdirectories (not even a root directory).
32*6a54128fSAndroid Build Coastguard Worker
33*6a54128fSAndroid Build Coastguard WorkerAdded a check to e2fsck to make sure that the length of every
34*6a54128fSAndroid Build Coastguard Workerdirectory entry is a multiple of 4 (since the kernel complains if it
35*6a54128fSAndroid Build Coastguard Workerisn't).
36*6a54128fSAndroid Build Coastguard Worker
37*6a54128fSAndroid Build Coastguard WorkerAdded a check to e2fsck to make sure that a directory entry isn't a
38*6a54128fSAndroid Build Coastguard Workerlink to the root directory, since that isn't allowed.
39*6a54128fSAndroid Build Coastguard Worker
40*6a54128fSAndroid Build Coastguard WorkerAdded a check to e2fsck to now make sure the '.' and '..' directory
41*6a54128fSAndroid Build Coastguard Workerentries are null terminated, since the 2.0 kernel requires it.
42*6a54128fSAndroid Build Coastguard Worker
43*6a54128fSAndroid Build Coastguard WorkerAdded check to write_bitmaps() to make sure the superblock doesn't get
44*6a54128fSAndroid Build Coastguard Workertrashed if the inode or block bitmap is marked as being block zero.
45*6a54128fSAndroid Build Coastguard Worker
46*6a54128fSAndroid Build Coastguard WorkerAdded checking of the new feature set fields in the superblock, to
47*6a54128fSAndroid Build Coastguard Workeravoid dealing with new filesystem features that this package wasn't
48*6a54128fSAndroid Build Coastguard Workerset up to handle.
49*6a54128fSAndroid Build Coastguard Worker
50*6a54128fSAndroid Build Coastguard WorkerFixed a fencepost error in ext2fs_new_block() which would occasionally
51*6a54128fSAndroid Build Coastguard Workertry to allocate a block beyond the end of a filesystem.
52*6a54128fSAndroid Build Coastguard Worker
53*6a54128fSAndroid Build Coastguard WorkerWhen the UUID library picks a random IEEE 802 address (because it
54*6a54128fSAndroid Build Coastguard Workercan't find one from a network card), it sets the multicast bit, to
55*6a54128fSAndroid Build Coastguard Workeravoid conflicting with a legitimate IEEE 802 address.
56*6a54128fSAndroid Build Coastguard Worker
57*6a54128fSAndroid Build Coastguard WorkerMke2fs now sets the root directory's owner to be the real uid of the
58*6a54128fSAndroid Build Coastguard Workeruser running mke2fs.  If the real uid is non-zero, it also sets
59*6a54128fSAndroid Build Coastguard Workerthe group ownership of the root directory to be the real group-id of
60*6a54128fSAndroid Build Coastguard Workerthe user running mke2fs.
61*6a54128fSAndroid Build Coastguard Worker
62*6a54128fSAndroid Build Coastguard WorkerMke2fs now has more intelligent error checking when it is given a
63*6a54128fSAndroid Build Coastguard Workernon-existent device.
64*6a54128fSAndroid Build Coastguard Worker
65*6a54128fSAndroid Build Coastguard WorkerWhen badblocks is given the -vv option, it now updates the block that
66*6a54128fSAndroid Build Coastguard Workerit is currently testing on every block.
67*6a54128fSAndroid Build Coastguard Worker
68*6a54128fSAndroid Build Coastguard WorkerFixed a bug in fsck where it wouldn't modify the PATH environment
69*6a54128fSAndroid Build Coastguard Workercurrently correctly if PATH wasn't already set.
70*6a54128fSAndroid Build Coastguard Worker
71*6a54128fSAndroid Build Coastguard WorkerShared libraries now built with dependencies.  This allows the shared
72*6a54128fSAndroid Build Coastguard Workerlibrary files to be used with dlopen(); it also makes the transition
73*6a54128fSAndroid Build Coastguard Workerto libc 6 easier, since ld.so can tell which libc a particular shared
74*6a54128fSAndroid Build Coastguard Workerlibrary expects to use.
75*6a54128fSAndroid Build Coastguard Worker
76*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes:
77*6a54128fSAndroid Build Coastguard Worker-------------------
78*6a54128fSAndroid Build Coastguard Worker
79*6a54128fSAndroid Build Coastguard WorkerAdded new abstraction (defined in dblist.c) for maintaining a list of
80*6a54128fSAndroid Build Coastguard Workerblocks which belongs to directories.  This is used in e2fsck and other
81*6a54128fSAndroid Build Coastguard Workerprograms which need to iterate over all directories.
82*6a54128fSAndroid Build Coastguard Worker
83*6a54128fSAndroid Build Coastguard WorkerAdded new functions which test to see if a contiguous range of blocks
84*6a54128fSAndroid Build Coastguard Worker(or inodes) are available.  (ext2fs_*_bitmap_range).
85*6a54128fSAndroid Build Coastguard Worker
86*6a54128fSAndroid Build Coastguard WorkerAdded new function (ext2_inode_has_valid_blocks) which returns true if
87*6a54128fSAndroid Build Coastguard Workeran inode has valid blocks.  (moved from e2fsck code).
88*6a54128fSAndroid Build Coastguard Worker
89*6a54128fSAndroid Build Coastguard WorkerAdded new function (ext2fs_allocate_tables) which allocates the
90*6a54128fSAndroid Build Coastguard Workermeta-data blocks as part of initializing a filesystem.  (moved from
91*6a54128fSAndroid Build Coastguard Workermke2fs code).
92*6a54128fSAndroid Build Coastguard Worker
93*6a54128fSAndroid Build Coastguard WorkerAdded a new I/O manager for testing purposes.  It will either allow a
94*6a54128fSAndroid Build Coastguard Workerprogram to intercept I/O requests, or print debugging messages to
95*6a54128fSAndroid Build Coastguard Workertrace the activity of a program using the I/O manager.
96*6a54128fSAndroid Build Coastguard Worker
97*6a54128fSAndroid Build Coastguard WorkerThe badblocks_list functions now store the bad blocks in a sorted
98*6a54128fSAndroid Build Coastguard Workerorder, and use a binary search to speed up badblocks_list_test.
99*6a54128fSAndroid Build Coastguard Worker
100*6a54128fSAndroid Build Coastguard WorkerThe inode scan function ext2fs_get_next_inode() may now return a soft
101*6a54128fSAndroid Build Coastguard Workererror returns: MISSING_INODE_TABLE and BAD_BLOCK_IN_INODE_TABLE in
102*6a54128fSAndroid Build Coastguard Workerthose cases where part of an inode table is missing or there is a bad
103*6a54128fSAndroid Build Coastguard Workerblock in the inode table.
104*6a54128fSAndroid Build Coastguard Worker
105*6a54128fSAndroid Build Coastguard WorkerAdded a new function (ext2fs_block_iterate2) which adds new arguments to
106*6a54128fSAndroid Build Coastguard Workerthe callback function to return a pointer (block and offset) to the
107*6a54128fSAndroid Build Coastguard Workerreference of the block.
108*6a54128fSAndroid Build Coastguard Worker
109*6a54128fSAndroid Build Coastguard WorkerAdded new function (ext2fs_inode_scan_goto_blockgroup) which allows an
110*6a54128fSAndroid Build Coastguard Workerapplication to jump to a particular block group while doing an inode
111*6a54128fSAndroid Build Coastguard Workerscan.
112*6a54128fSAndroid Build Coastguard Worker
113*6a54128fSAndroid Build Coastguard WorkerThe badblocks list functions were renamed from badblocks_* to
114*6a54128fSAndroid Build Coastguard Workerext2fs_badblocks_*.  Backwards compatibility functions are available
115*6a54128fSAndroid Build Coastguard Workerfor now, but programs should be modified to use the new interface.
116*6a54128fSAndroid Build Coastguard Worker
117*6a54128fSAndroid Build Coastguard WorkerSome of the library functions were reorganized into separate files to
118*6a54128fSAndroid Build Coastguard Workerreduce the size of some programs which statically link against the
119*6a54128fSAndroid Build Coastguard Workerext2 library.
120*6a54128fSAndroid Build Coastguard Worker
121*6a54128fSAndroid Build Coastguard WorkerPut in some miscellaneous fixes for the Alpha platform.
122*6a54128fSAndroid Build Coastguard Worker
123