xref: /linux/fs/befs/ChangeLog (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
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