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