~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/befs/ChangeLog

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 Version 0.92 (2002-03-29)
  2 ==========
  3 * Minor cleanup. Ran Lindent on the sources.
  4 
  5 Version 0.92 (2002-03-27)
  6 ==========
  7 * Fixed module makefile problem. It was not compiling all the correct 
  8     source files!
  9 * Removed duplicated function definition
 10 * Fixed potential null pointer dereference when reporting an error
 11 
 12 Version 0.91 (2002-03-26)
 13 ==========
 14 * Oy! Fixed stupid bug that would cause an unresolved symbol error.
 15         Thanks to Laszlo Boszormenyi for pointing this out to me.
 16 
 17 Version 0.9 (2002-03-14)
 18 ==========
 19 * Added Sergey S. Kostyliov's patch to eliminate memcpy() overhead
 20         from b+tree operations. Changes the befs_read_datastream() interface.
 21 
 22 * Segregated the functions that interface directly with the linux  vfs 
 23         interface into their own file called linuxvfs.c. [WD]
 24 
 25 Version 0.64 (2002-02-07)
 26 ==========
 27 * Did the string comparison really right this time (btree.c) [WD]
 28 
 29 * Fixed up some places where I assumed that a long int could hold
 30         a pointer value. (btree.c) [WD]
 31 
 32 * Andrew Farnham <andrewfarnham@uq.net.au> pointed out that the module
 33         wouldn't work on older (<2.4.10) kernels due to an unresolved symbol.
 34         This is bad, since 2.4.9 is still the current RedHat kernel. I added
 35         a workaround for this problem (compatibility.h) [WD]
 36 
 37 * Sergey S. Kostyliov made befs_find_key() use a binary search to find 
 38         keys within btree nodes, rather than the linear search we were using 
 39         before. (btree.c) [Sergey S. Kostyliov <rathamahata@php4.ru>]
 40 
 41 * Made a debian package of the source for use with kernel-package. [WD]
 42 
 43 
 44 Version 0.63 (2002-01-31)
 45 ==========
 46 * Fixed bug in befs_find_brun_indirect() that would result in the wrong
 47         block being read. It was introduced when adding byteswapping in 
 48         0.61. (datastream.c) [WD]
 49 
 50 * Fixed a longstanding bug in befs_find_key() that would result in it 
 51         finding the first key that is a substring of the string it is searching
 52         for. For example, this would cause files in the same directory with 
 53         names like file1 and file2 to mysteriously be duplicates of each other 
 54         (because they have the same inode number). Many thanks to Pavel Roskin 
 55         for reporting this serious bug!!!
 56         (btree.c) [WD]
 57 
 58 * Added support for long symlinks, after Axel Dorfler explained up how 
 59         they work. I had forgotten all about them. (inode.c, symlink.c) [WD]
 60 
 61 * Documentation improvements in source. [WD]
 62 
 63 * Makefile fix for independent module when CONFIG_MODVERSION is set in 
 64         kernel config [Pavel Roskin <proski@gnu.org>]
 65 
 66 * Compile warning fix for namei.c. [Sergey S. Kostyliov <rathamahata@php4.ru>]
 67 
 68 
 69 Version 0.62
 70 ==========
 71 * Fixed makefile for module install [WD]
 72 
 73 
 74 Version 0.61 (2002-01-20)
 75 ==========
 76 * Made functions in endian.h to do the correct byteswapping, no matter
 77         the arch. [WD]
 78 
 79 * Abbandoned silly checks for a NULL superblock pointer in debug.c. [WD]
 80 
 81 * Misc code cleanups. Also cleanup of this changelog file. [WD]
 82 
 83 * Added byteswapping to all metadata reads from disk.
 84         Uses the functions from endian.h [WD]
 85 
 86 * Remove the typedef of struct super_block to vfs_sb, as it offended
 87         certain peoples' aesthetic sense. [WD]
 88 
 89 * Ditto with the befs_read_block() interface. [WD]
 90  
 91 
 92 Version 0.6 (2001-12-15)
 93 ==========
 94 * Cleanup of NLS functions (util.c) [WD]
 95 
 96 * Make directory lookup/read use the NLS if an iocharset is provided. [WD]
 97 
 98 * Fixed stupid bug where specifying the uid or gid mount options as '0' 
 99         would result in the filesystem using the on-disk uid and gid. [WD]
100 
101 * Added mount option to control debug printing. 
102         The option is, simply enough, 'debug'. 
103         (super.c, debug.c) [WD]
104 
105 * Removed notion of btree handle from btree.c. It was unnecessary, as the
106         linux VFS doesn't allow us to keep any state between calls. Updated 
107         dir.c, namei.c befs_fs.h to account for it. [WD]
108 
109 * Improved handleing of overflow nodes when listing directories. 
110         Now works for overflow nodes hanging off of nodes other than the root 
111         node. This is the cleaner solution to Brent Miszalaski's problem. [WD]
112 
113 * Added new debug/warning/error print functions in debug.c. 
114         More flexible. Will soon be controllable at mount time 
115         (see TODO). [WD]
116 
117 * Rewrote datastream position lookups.
118         (datastream.c) [WD]
119 
120 * Moved the TODO list to its own file.
121 
122 
123 Version 0.50 (2001-11-13)
124 ==========
125 * Added workaround for mis-understanding of the nature of the b+trees used 
126         in directories. A cleaner solution will come after I've thought about it 
127         for a while. Thanks to Brent Miszalaski for finding and reporting this bug. 
128         (btree.c) [WD]
129 
130 * Minor cleanups
131 
132 * Added test for "impossible" condition of empty internal nodes in 
133         seekleaf() in btree.c [WD]
134 
135 * Implemented the abstracted read_block() in io.c [WD]
136 
137 * Cleaned up the inode validation in inode.c [WD]
138 
139 * Anton Altaparmakov figured out (by asking Linus :) ) what was causing the 
140         hanging disk io problem. It turns out you need to have the sync_pages 
141         callback defined in your address_space_ops, even if it just uses the 
142         default linux-supplied implementation. Fixed. Works now.
143         (file.c) [WD]
144 
145 * Anton Altaparmakov and Christoph Hellwig alerted me to the fact that 
146         filesystem code should be using GFP_NOFS instead of GFP_KERNEL as the 
147         priority parameter to kmalloc(). Fixed. 
148         (datastream.c, btree.c super.c inode.c) [WD]
149 
150 * Anton also told me that the blocksize is not allowed to be larger than 
151         the page size in linux, which is 4k i386. Oops. Added a test for 
152         (blocksize > PAGE_SIZE), and refuse to mount in that case. What this 
153         practically means is that 8k blocksize volumes won't work without a major
154         restructuring of the driver (or an alpha or other 64bit hardware). [WD]
155 
156 * Cleaned up the befs_count_blocks() function. Much smarter now. 
157         And somewhat smaller too. [WD]
158 
159 * Made inode allocations use a slab cache 
160         (super.c inode.c) [WD]
161 
162 * Moved the freeing of the private inode section from put_inode() to 
163         clear_inode(). This fixes a potential free twice type bug. Put_inode() 
164         can be called multiple times for each inode struct. [WD]
165 
166 * Converted all non vfs-callback functions to use befs_sb_info as the 
167         superblock type, rather than struct super_block. This is for 
168         portablity. [WD]
169 
170 * Fixed a couple of compile warnings due to use of malloc.h, when slab.h 
171         is the new way. (inode.c, super.c) [WD]
172 
173 * Fixed erronous includes of linux/befs_fs_i.h and linux/befs_fs_sb.h 
174         in inode.c [WD]
175 
176 Version 0.45 (2001-10-29)
177 ==========
178 * Added functions to get the private superblock and inode structures from 
179         their enclosing public structures. Switched all references to the 
180         private portions to use them. (many files) [WD]
181 
182 * Made read_super and read_inode allocate the private portions of those 
183         structures into the generic pointer fields of the public structures 
184         with kmalloc(). put_super and put_inode free them. This allows us not 
185         to have to touch the definitions of the public structures in 
186         include/linux/fs.h. Also, befs_inode_info is huge (because of the 
187         symlink string). (super.c, inode.c, befs_fs.h) [WD]
188 
189 * Fixed a thinko that was corrupting file reads after the first block_run 
190         is done being read. (datastream.c) [WD]
191 
192 * Removed fsync() hooks, since a read-only filesystem doesn't need them. 
193         [Christoph Hellwig].
194 
195 * Fixed befs_readlink() (symlink.c) [Christoph Hellwig].
196 
197 * Removed all the Read-Write stuff. I'll redo it when it is time to add 
198         write support (various files) [WD].
199 
200 * Removed prototypes for functions who's definitions have been removed 
201         (befs_fs.h) [WD].
202 
203 
204 Version 0.4 (2001-10-28)
205 ==========
206 * Made it an option to use the old non-pagecache befs_file_read() for 
207         testing purposes. (fs/Config.in)
208 
209 * Fixed unused variable warnings when compiling without debugging.
210 
211 * Fixed a bug where the inode and super_block didn't get their blockbits 
212         fields set (inode.c and super.c). 
213 
214 * Release patch version 11. AKA befs-driver version 0.4.
215 
216 * Thats right. New versioning scheme. 
217         I've done some serious testing on it now (on my box anyhow), and it 
218         seems stable and not outragously slow. Existing features are more-or-less 
219         correct (see TODO list). But it isn't 1.0 yet. I think 0.4 gives me some 
220         headroom before the big 1.0.
221 
222 
223 2001-10-26
224 ==========
225 * Fixed date format in this file. Was I smoking crack?
226 
227 * Removed old datastream code from file.c, since it is nolonger used.
228 
229 * Generic_read_file() is now used to read regular file data. 
230         It doesn't chew up the buffer cache (it does page io instead), and seems 
231         to be about as fast (even though it has to look up each file block 
232         indivdualy). And it knows about doing readahead, which is a major plus. 
233         So it does i/o in much larger chunks. It is the correct linux way. It 
234         uses befs_get_block() by way of befs_readpage() to find the disk offsets 
235         of blocks, which in turn calls befs_fpos2brun() in datastream.c to do 
236         the hard work of finding the disk block number.
237 
238 * Changed method of checking for a dirty filesystem in befs_read_super 
239         (super.c). Now we check to see if log_start and log_end differ. If so, 
240         the journal needs to be replayed, and the filesystem cannot be mounted.
241 
242 * Fixed an extra instance of MOD_DEC_USE_COUNT in super.c
243 
244 * Fixed a problem with reading the superblock on devices with large sector 
245         sizes (such as cdroms) on linux 2.4.10 and up.
246 
247 2001-10-24
248 ==========
249 * Fix nasty bug in converting block numbers to struct befs_inode_addr. 
250         Subtle, because the old version was only sometimes wrong. 
251         Probably responsible for lots of problems. (inode.c)
252 
253 * Fix bug with reading an empty directory. (btree.c and dir.c)
254 
255 * This one looks good. Release patch version 10
256 
257 2001-10-23
258 ==========
259 * Added btree searching function.
260 
261 * Use befs_btree_find in befs_lookup (namei.c)
262 
263 * Additional comments in btree.c
264 
265 2001-10-22
266 ==========
267 * Added B+tree reading functions (in btree.c). 
268         Made befs_readdir() use them them instead of the cruft in index.c.
269 
270 2001-09-11
271 ==========
272 * Converted befs_read_file() to use the new datastream code.
273 
274 * Finally updated the README file.
275 
276 * Added many comments.
277 
278 * Posted version 6
279 
280 * Removed byte-order conversion code. 
281         I have no intention of supporting it, and it was very ugly. 
282         Flow control with #ifdef (ugh). Maybe I'll redo it once 
283         native byteorder works 100%.
284 
285 2001-09-10
286 ==========
287 * Finished implementing read_datastream()
288 
289 * made befs_read_brun() more general
290         Supports an offset to start at and a max bytes to read
291         Added a wrapper function to give the old call
292 
293 2001-09-30
294 ==========
295 * Discovered that the datastream handleing code in file.c is quite deficient 
296         in several respects. For one thing, it doesn't deal with indirect blocks
297 
298 * Rewrote datastream handleing.
299 
300 * Created io.c, for io related functions.
301         Previously, the befs_bread() funtions lived in file.c
302         Created the befs_read_brun() function.
303 
304 
305 2001-09-07
306 ==========
307 * Made a function to actually count the number of fs blocks used by a file.
308         And helper functions.
309         (fs/befs/inode.c)
310 
311 2001-09-05
312 ==========
313 * Fixed a misunderstanding of the inode fields. 
314         This fixed the problmem with wrong file sizes from du and others.
315         The i_blocks field of the inode struct is not the number of blocks for the
316         inode, it is the number of blocks for the file. Also, i_blksize is not
317         necessarily the size of the inode, although in  practice it works out.
318         Changed to blocksize of filesystem.
319         (fs/befs/inode.c)
320 
321 * Permanently removed code that had been provisionally ifdefed out of befs_fs.h
322 
323 * Since we don't support access time, make that field zero, instead of 
324         copying m_time.
325         (fs/befs/inode.c)
326 
327 * Added sanity check for inode reading
328         Make sure inode we got was the one we asked for. 
329         (fs/befs/inode.c)
330 
331 * Code cleanup
332         Local pointers to commonly used structures in inode.c.
333         Got rid of abominations befs_iaddr2inode() and befs_inode2ino(). 
334         Replaced with single function iaddr2blockno().
335         (fs/befs/super.c) (fs/befs/inode.c)
336 
337 2001-09-01
338 ==========
339 * Fixed the problem with statfs where it would always claim the disk was 
340         half full, due to improper understanding of the statfs fields.
341         (fs/befs/super.c)
342 
343 * Posted verion 4 of the patch
344 
345 2001-09-01
346 ==========
347 * Changed the macros in befs_fs.h to inline functions.
348         More readable. Typesafe. Better
349         (include/linux/befs_fs.h)
350 
351 * Moved type definitions from befs_fs.h to a new file, befs_fs_types.h 
352         Because befs_fs_i.h and befs_fs_sb.h were including befs_fs.h for the 
353         typedefs, and they are inlcuded in <linux/fs.h>, which has definitions 
354         that I want the inline functions in befs_fs.h to be able to see. Nasty
355         circularity.
356         (include/linux/befs_fs.h)
357 
358 2001-08-30
359 ==========
360 * Cleaned up some wording.
361 
362 * Added additional consitency checks on mount
363         Check block_size agrees with block_shift
364         Check flags == BEFS_CLEAN
365         (fs/befs/super.c)
366 
367 * Tell the kernel to only mount befs read-only. 
368         By setting the SB_RDONLY flag in befs_read_super().
369         Not that it was possible to write before. But now the kernel won't even try.
370         (fs/befs/super.c)
371 
372 * Got rid of kernel warning on mount.
373         The kernel doesn't like it if you call set_blocksize() on a device when 
374         you have some of its blocks open. Moved the second set_blocksize() to the
375         very end of befs_read_super(), after we are done with the disk superblock.
376         (fs/befs/super.c)
377         
378 * Fixed wrong number of args bug in befs_dump_inode
379         (fs/befs/debug.c)
380 
381 * Solved lots of type mismatches in kprint()s
382         (everwhere)
383 
384 2001-08-27
385 ==========
386 * Cleaned up the fs/Config.in entries a bit, now slightly more descriptive.
387 
388 * BeFS depends on NLS, so I made activating BeFS enable the NLS questions
389         (fs/nls/Config.in)
390 
391 * Added Configure.help entries for CONFIG_BEFS_FS and CONFIG_DEBUG_BEFS
392         (currently at fs/befs/Kconfig)
393 
394 2001-08-??
395 ==========
396 * Removed superblock locking calls in befs_read_super(). In 2.4, the VFS 
397         hands us a super_block struct that is already locked.
398 
399 2001-08-13
400 ==========
401 * Will Dyson <will_dyson@pobox.com> is now attempting to maintain this module
402         Makoto Kato <m_kato@ga2.so-net.ne.jp> is original author.Daniel Berlin 
403         also did some work on it (fixing it up for the later 2.3.x kernels, IIRC).
404 
405 * Fixed compile errors on 2.4.1 kernel (WD)
406         Resolve rejected patches
407         Accommodate changed NLS interface (util.h)
408         Needed to include <linux/slab.h> in most files
409         Makefile changes
410         fs/Config.in changes
411 
412 * Tried to niceify the code using the ext2 fs as a guide
413         Declare befs_fs_type using the DECLARE_FSTYPE_DEV() macro
414 
415 * Made it a configure option to turn on debugging (fs/Config.in)
416 
417 * Compiles on 2.4.7

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php