Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | Changes from version 0.5a to version 0.5b |
2 | ========================================= | |
3 | - Now that we have sysctl(), the immutable flag cannot be changed when | |
4 | the system is running at security level > 0. | |
5 | - Some cleanups in the code. | |
6 | - More consistency checks on directories. | |
7 | - The ext2.diff patch from Tom May <ftom@netcom.com> has been | |
8 | integrated. This patch replaces expensive "/" and "%" with | |
9 | cheap ">>" and "&" where possible. | |
10 | ||
11 | Changes from version 0.5 to version 0.5a | |
12 | ======================================== | |
13 | - Zero the partial block following the end of the file when a file | |
14 | is truncated. | |
15 | - Dates updated in the copyright. | |
16 | - More checks when the filesystem is mounted: the count of blocks, | |
17 | fragments, and inodes per group is checked against the block size. | |
18 | - The buffers used by the error routines are now static variables, to | |
19 | avoid using space on the kernel stack, as requested by Linus. | |
20 | - Some cleanups in the error messages (some versions of syslog contain | |
21 | a bug which truncates an error message if it contains '\n'). | |
22 | - Check that no data can be written to a file past the 2GB limit. | |
23 | - The famous readdir() bug has been fixed by Stephen Tweedie. | |
24 | - Added a revision level in the superblock. | |
25 | - Full support for O_SYNC flag of the open system call. | |
26 | - New mount options: `resuid=#uid' and `resgid=#gid'. `resuid' causes | |
27 | ext2fs to consider user #uid like root for the reserved blocks. | |
28 | `resgid' acts the same way with group #gid. New fields in the | |
29 | superblock contain default values for resuid and resgid and can | |
30 | be modified by tune2fs. | |
31 | Idea comes from Rene Cougnenc <cougnenc@renux.frmug.fr.net>. | |
32 | - New mount options: `bsddf' and `minixdf'. `bsddf' causes ext2fs | |
33 | to remove the blocks used for FS structures from the total block | |
34 | count in statfs. With `minixdf', ext2fs mimics Minix behavior | |
35 | in statfs (i.e. it returns the total number of blocks on the | |
36 | partition). This is intended to make bde happy :-) | |
37 | - New file attributes: | |
38 | - Immutable files cannot be modified. Data cannot be written to | |
39 | these files. They cannot be removed, renamed and new links cannot | |
40 | be created. Even root cannot modify the files. He has to remove | |
41 | the immutable attribute first. | |
42 | - Append-only files: can only be written in append-mode when writing. | |
43 | They cannot be removed, renamed and new links cannot be created. | |
44 | Note: files may only be added to an append-only directory. | |
45 | - No-dump files: the attribute is not used by the kernel. My port | |
46 | of dump uses it to avoid backing up files which are not important. | |
47 | - New check in ext2_check_dir_entry: the inode number is checked. | |
48 | - Support for big file systems: the copy of the FS descriptor is now | |
49 | dynamically allocated (previous versions used a fixed size array). | |
50 | This allows to mount 2GB+ FS. | |
51 | - Reorganization of the ext2_inode structure to allow other operating | |
52 | systems to create specific fields if they use ext2fs as their native | |
53 | file system. Currently, ext2fs is only implemented in Linux but | |
54 | will soon be part of Gnu Hurd and of Masix. | |
55 | ||
56 | Changes from version 0.4b to version 0.5 | |
57 | ======================================== | |
58 | - New superblock fields: s_lastcheck and s_checkinterval added | |
59 | by Uwe Ohse <uwe@tirka.gun.de> to implement timedependent checks | |
60 | of the file system | |
61 | - Real random numbers for secure rm added by Pierre del Perugia | |
62 | <delperug@gla.ecoledoc.ibp.fr> | |
63 | - The mount warnings related to the state of a fs are not printed | |
64 | if the fs is mounted read-only, idea by Nick Holloway | |
65 | <alfie@dcs.warwick.ac.uk> | |
66 | ||
67 | Changes from version 0.4a to version 0.4b | |
68 | ========================================= | |
69 | - Copyrights changed to include the name of my laboratory. | |
70 | - Clean up of balloc.c and ialloc.c. | |
71 | - More consistency checks. | |
72 | - Block preallocation added by Stephen Tweedie. | |
73 | - Direct reads of directories disallowed. | |
74 | - Readahead implemented in readdir by Stephen Tweedie. | |
75 | - Bugs in block and inodes allocation fixed. | |
76 | - Readahead implemented in ext2_find_entry by Chip Salzenberg. | |
77 | - New mount options: | |
78 | `check=none|normal|strict' | |
79 | `debug' | |
80 | `errors=continue|remount-ro|panic' | |
81 | `grpid', `bsdgroups' | |
82 | `nocheck' | |
83 | `nogrpid', `sysvgroups' | |
84 | - truncate() now tries to deallocate contiguous blocks in a single call | |
85 | to ext2_free_blocks(). | |
86 | - lots of cosmetic changes. | |
87 | ||
88 | Changes from version 0.4 to version 0.4a | |
89 | ======================================== | |
90 | - the `sync' option support is now complete. Version 0.4 was not | |
91 | supporting it when truncating a file. I have tested the synchronous | |
92 | writes and they work but they make the system very slow :-( I have | |
93 | to work again on this to make it faster. | |
94 | - when detecting an error on a mounted filesystem, version 0.4 used | |
95 | to try to write a flag in the super block even if the filesystem had | |
96 | been mounted read-only. This is fixed. | |
97 | - the `sb=#' option now causes the kernel code to use the filesystem | |
98 | descriptors located at block #+1. Version 0.4 used the superblock | |
99 | backup located at block # but used the main copy of the descriptors. | |
100 | - a new file attribute `S' is supported. This attribute causes | |
101 | synchronous writes but is applied to a file not to the entire file | |
102 | system (thanks to Michael Kraehe <kraehe@bakunin.north.de> for | |
103 | suggesting it). | |
104 | - the directory cache is inhibited by default. The cache management | |
105 | code seems to be buggy and I have to look at it carefully before | |
106 | using it again. | |
107 | - deleting a file with the `s' attribute (secure deletion) causes its | |
108 | blocks to be overwritten with random values not with zeros (thanks to | |
109 | Michael A. Griffith <grif@cs.ucr.edu> for suggesting it). | |
110 | - lots of cosmetic changes have been made. | |
111 | ||
112 | Changes from version 0.3 to version 0.4 | |
113 | ======================================= | |
114 | - Three new mount options are supported: `check', `sync' and `sb=#'. | |
115 | `check' tells the kernel code to make more consistency checks | |
116 | when the file system is mounted. Currently, the kernel code checks | |
117 | that the blocks and inodes bitmaps are consistent with the free | |
118 | blocks and inodes counts. More checks will be added in future | |
119 | releases. | |
120 | `sync' tells the kernel code to use synchronous writes when updating | |
121 | an inode, a bitmap, a directory entry or an indirect block. This | |
122 | can make the file system much slower but can be a big win for files | |
123 | recovery in case of a crash (and we can now say to the BSD folks | |
124 | that Linux also supports synchronous updates :-). | |
125 | `sb=#' tells the kernel code to use an alternate super block instead | |
126 | of its master copy. `#' is the number of the block (counted in | |
127 | 1024 bytes blocks) which contains the alternate super block. | |
128 | An ext2 file system typically contains backups of the super block | |
129 | at blocks 8193, 16385, and so on. | |
130 | - I have change the meaning of the valid flag used by e2fsck. it | |
131 | now contains the state of the file system. If the kernel code | |
132 | detects an inconsistency while the file system is mounted, it flags | |
133 | it as erroneous and e2fsck will detect that on next run. | |
134 | - The super block now contains a mount counter. This counter is | |
135 | incremented each time the file system is mounted read/write. When | |
136 | this counter becomes bigger than a maximal mount counts (also stored | |
137 | in the super block), e2fsck checks the file system, even if it had | |
138 | been unmounted cleanly, and resets this counter to 0. | |
139 | - File attributes are now supported. One can associate a set of | |
140 | attributes to a file. Three attributes are defined: | |
141 | `c': the file is marked for automatic compression, | |
142 | `s': the file is marked for secure deletion: when the file is | |
143 | deleted, its blocks are zeroed and written back to the disk, | |
144 | `u': the file is marked for undeletion: when the file is deleted, | |
145 | its contents are saved to allow a future undeletion. | |
146 | Currently, only the `s' attribute is implemented in the kernel | |
147 | code. Support for the other attributes will be added in a future | |
148 | release. | |
149 | - a few bugs related to times updates have been fixed by Bruce | |
150 | Evans and me. | |
151 | - a bug related to the links count of deleted inodes has been fixed. | |
152 | Previous versions used to keep the links count set to 1 when a file | |
153 | was deleted. The new version now sets links_count to 0 when deleting | |
154 | the last link. | |
155 | - a race condition when deallocating an inode has been fixed by | |
156 | Stephen Tweedie. | |
157 |