cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ChangeLog (14364B)


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