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