xref: /OK3568_Linux_fs/kernel/fs/befs/ChangeLog (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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