xref: /aosp_15_r20/external/e2fsprogs/doc/RelNotes/v1.16.txt (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard WorkerE2fsprogs 1.16 (October 22, 1999)
2*6a54128fSAndroid Build Coastguard Worker=================================
3*6a54128fSAndroid Build Coastguard Worker
4*6a54128fSAndroid Build Coastguard WorkerFixed a race condition bug in fsck; when printing a progress bar, if
5*6a54128fSAndroid Build Coastguard Workerchecking multiple filesystems in parallel, it was possible for fsck to
6*6a54128fSAndroid Build Coastguard Workersend e2fsck a SIGUSR1 signal before e2fsck had installed its signal
7*6a54128fSAndroid Build Coastguard Workerhandler, which would cause it to terminate with a signal 10.
8*6a54128fSAndroid Build Coastguard Worker
9*6a54128fSAndroid Build Coastguard WorkerE2fsck now properly handles filesystems that have the
10*6a54128fSAndroid Build Coastguard WorkerINCOMPAT_FILETYPE feature turned on.  It can be used to convert a
11*6a54128fSAndroid Build Coastguard Workerfilesystem into using or not using FILETYPE feature.
12*6a54128fSAndroid Build Coastguard Worker
13*6a54128fSAndroid Build Coastguard WorkerE2fsck now properly handles filesystems that have the IMAGIC feature
14*6a54128fSAndroid Build Coastguard Workerturned on (this is used on Linux AFS servers).
15*6a54128fSAndroid Build Coastguard Worker
16*6a54128fSAndroid Build Coastguard WorkerThe mke2fs program now creates filesystems that have the filetype and
17*6a54128fSAndroid Build Coastguard Workersparse_superblock features enabled by default, unless it is run on a
18*6a54128fSAndroid Build Coastguard Workerpre-2.2 kernel.  These features are not supported by a pre-2.2 kernel,
19*6a54128fSAndroid Build Coastguard Workerso there is now a new flag -O which allows the user to specify with
20*6a54128fSAndroid Build Coastguard Workerwhich features she would like to create the filesystem; "mke2fs -O
21*6a54128fSAndroid Build Coastguard Workernone" will create a filesystem compatible with 2.0 kernels.
22*6a54128fSAndroid Build Coastguard Worker
23*6a54128fSAndroid Build Coastguard WorkerThe tune2fs program now has a -O option which allows the user to set
24*6a54128fSAndroid Build Coastguard Workerand reset "safe" filesystem features.  Currently, the only ones which
25*6a54128fSAndroid Build Coastguard Workerallows to be modified are the filetype and sparse_superblock features.
26*6a54128fSAndroid Build Coastguard WorkerNote setting or clearing either feature will require running e2fsck on
27*6a54128fSAndroid Build Coastguard Workerthe filesystem afterwards.  (n.b. Clearing the sparse_superblock feature
28*6a54128fSAndroid Build Coastguard Workerrequires that there is enough free space on the filesystem for the
29*6a54128fSAndroid Build Coastguard Workerextra superblocks which will be created by e2fsck.)
30*6a54128fSAndroid Build Coastguard Worker
31*6a54128fSAndroid Build Coastguard WorkerDebugfs can now set and print filesystem features in the superblock
32*6a54128fSAndroid Build Coastguard Workerusing the "features" command.  Dumpe2fs will print out the complete
33*6a54128fSAndroid Build Coastguard Workerset of features when listing the superblock.
34*6a54128fSAndroid Build Coastguard Worker
35*6a54128fSAndroid Build Coastguard WorkerDumpe2fs has new options -f (force) and -h (header-only).
36*6a54128fSAndroid Build Coastguard Worker
37*6a54128fSAndroid Build Coastguard WorkerFixed a bug in e2fsck which could cause the PROGRAMMING ERROR/bonehead
38*6a54128fSAndroid Build Coastguard Workermessage to come up.  This could happen when decrementing or
39*6a54128fSAndroid Build Coastguard Workerincrementing a link count could result in an overflow.
40*6a54128fSAndroid Build Coastguard Worker
41*6a54128fSAndroid Build Coastguard WorkerFixed a bug in e2fsck where the block count on the lost+found
42*6a54128fSAndroid Build Coastguard Workerdirectory would not be properly incremented when the directory was
43*6a54128fSAndroid Build Coastguard Workerexpanded to the point where an indirect block needed to be allocated.
44*6a54128fSAndroid Build Coastguard Worker
45*6a54128fSAndroid Build Coastguard WorkerE2fsck now makes some additional sanity checks on the superblock to
46*6a54128fSAndroid Build Coastguard Workeravoid crashing or giving a memory allocation error if some of the
47*6a54128fSAndroid Build Coastguard Workervalues in the superblock are unreasonable (but the superblock otherwise
48*6a54128fSAndroid Build Coastguard Workerlooks valid).
49*6a54128fSAndroid Build Coastguard Worker
50*6a54128fSAndroid Build Coastguard WorkerFixed a bug in e2fsck where a very badly corrupted filesystem might
51*6a54128fSAndroid Build Coastguard Workerrequire two passes to completely fix the filesystem.  This happened if
52*6a54128fSAndroid Build Coastguard Workeran inode claimed blocks that was part of the filesystem metadata
53*6a54128fSAndroid Build Coastguard Worker(typically, when garbage was written into an inode table or indirect
54*6a54128fSAndroid Build Coastguard Workerblock, since this kind of filesystem corruption normally doesn't
55*6a54128fSAndroid Build Coastguard Workerhappen otherwise).
56*6a54128fSAndroid Build Coastguard Worker
57*6a54128fSAndroid Build Coastguard WorkerOn the Alpha, glibc declares st_flags although it isn't actually used;
58*6a54128fSAndroid Build Coastguard Workerthe configure script was improved to detect this case so that
59*6a54128fSAndroid Build Coastguard Workere2fsprogs can avoid using the non-functional stat field.
60*6a54128fSAndroid Build Coastguard Worker
61*6a54128fSAndroid Build Coastguard WorkerThe manual pages were updated to use a more consistent formatting
62*6a54128fSAndroid Build Coastguard Workerstyle consistent with standard Unix man pages.  Mke2fs's man page
63*6a54128fSAndroid Build Coastguard Workeradded documentation for a few previously undocumented options.
64*6a54128fSAndroid Build Coastguard Worker
65*6a54128fSAndroid Build Coastguard WorkerFixed minor display bugs in tune2fs and mke2fs.
66*6a54128fSAndroid Build Coastguard Worker
67*6a54128fSAndroid Build Coastguard WorkerProgrammer's notes:
68*6a54128fSAndroid Build Coastguard Worker-------------------
69*6a54128fSAndroid Build Coastguard Worker
70*6a54128fSAndroid Build Coastguard WorkerImproved portability of e2fsprogs to non-Unix systems (in particular, NT).
71*6a54128fSAndroid Build Coastguard Worker
72*6a54128fSAndroid Build Coastguard WorkerAdded features to parse and print feature strings into the e2p library.
73*6a54128fSAndroid Build Coastguard Worker(e2p_feature2string, e2p_string2feature, e2p_edit_feature).
74*6a54128fSAndroid Build Coastguard Worker
75*6a54128fSAndroid Build Coastguard Workerext2fs_mkdir() and ext2fs_new_dir_block() now creates directories
76*6a54128fSAndroid Build Coastguard Workerwhose directory entries contain proper filetype information if the
77*6a54128fSAndroid Build Coastguard Workerfilesystem supports it.
78*6a54128fSAndroid Build Coastguard Worker
79*6a54128fSAndroid Build Coastguard Workerext2fs_link() now uses the low 3 bits of its flags parameter to pass
80*6a54128fSAndroid Build Coastguard Workerthe directory entry filetype information.  This is used to set the
81*6a54128fSAndroid Build Coastguard Workerdirectory entry filetype information if the filesystem supports it.
82*6a54128fSAndroid Build Coastguard Worker
83*6a54128fSAndroid Build Coastguard WorkerFixed a bug in ext2fs_expand_dir() where the block count in a
84*6a54128fSAndroid Build Coastguard Workerdirectory's inode would not be properly incremented when the directory
85*6a54128fSAndroid Build Coastguard Workerwas expanded to the point where an indirect block needed to be
86*6a54128fSAndroid Build Coastguard Workerallocated.
87*6a54128fSAndroid Build Coastguard Worker
88