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