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

Changes (9287B)


      1(Note: I consider version numbers as cheap. That means
      2that I do not like numbers like 0.1 and the like for
      3things that can be used since quite some time. But
      4then, 3.1 doesn't mean 'perfectly stable', too.)
      5
      6Known bugs:
      7-----------
      8
      9- Doesn't work on the alpha. The only 64/32-bit
     10  problem that I'm aware of (pointer/int conversion
     11  in readdir()) gives compiler warnings but is
     12  apparently not causing the failure, as directory
     13  reads basically work (but all files are of size 0).
     14  Alas, I've got no alpha to debug. :-(
     15
     16- The partition checker (drivers/block/genhd.c)
     17  doesn't work with devices which have 256 byte
     18  blocks (some very old SCSI drives). 
     19
     20- The feature to automatically make the fs clean
     21  might leave a trashed file system with the
     22  bitmap flag set valid.
     23
     24- When a file is truncated to a size that is not
     25  a multiple of the blocksize, the rest of the
     26  last allocated block is not cleared. Well,
     27  this fs never claimed to be Posix conformant.
     28
     29Please direct bug reports to: zippel@linux-m68k.org
     30
     31Version 3.20
     32------------
     33- kill kernel lock
     34- fix for a possible bitmap corruption
     35
     36Version 3.19
     37------------
     38
     39- sizeof changes from Kernel Janitor Project
     40- several bug fixes found with fsx
     41
     42Version 3.18
     43------------
     44
     45- change to global min macro + warning fixes
     46- add module tags
     47
     48Version 3.17
     49------------
     50
     51- locking fixes
     52- wrong sign in __affs_hash_dentry
     53- remove unnecessary check in affs_new_inode
     54- enable international mode for dircache fs
     55
     56Version 3.16
     57------------
     58
     59- use mark_buffer_dirty_inode instead of mark_buffer_dirty.
     60- introduce affs_lock_{link|dir|ext}.
     61
     62Version 3.15
     63------------
     64
     65- disable link to directories until we can properly support them.
     66- locking fixes for link creation/removal.
     67
     68Version 3.14
     69------------
     70
     71- correctly cut off long file names for compares
     72- correctly initialize s_last_bmap
     73
     74Version 3.13
     75------------
     76
     77Major cleanup for 2.4 [Roman Zippel]
     78- new extended block handling
     79- new bitmap allocation functions
     80- locking should be safe for the future
     81- cleanup of some interfaces
     82
     83Version 3.12
     84------------
     85
     86more 2.4 fixes: [Roman Zippel]
     87- s_lock changes
     88- increased getblock mess
     89- clear meta blocks 
     90
     91Version 3.11
     92------------
     93
     94- Converted to use 2.3.x page cache [Dave Jones]
     95- Corruption in truncate() bugfix [Ken Tyler <kent@werple.net.au>]
     96
     97Version 3.10
     98------------
     99
    100- Changed partition checker to allow devices
    101  with physical blocks != 512 bytes.
    102
    103- The partition checker now also ignores the
    104  word at 0xd0 that Windows likes to write to.
    105
    106Version 3.9
    107-----------
    108
    109- Moved cleanup from release_file() to put_inode().
    110  This makes the first one obsolete.
    111
    112- truncate() zeroes the unused remainder of a
    113  partially used last block when a file is truncated.
    114  It also marks the inode dirty now (which is not
    115  really necessary as notify_change() will do
    116  it anyway).
    117
    118- Added a few comments, fixed some typos (and
    119  introduced some new ones), made the debug messages
    120  more consistent. Changed a bad example in the
    121  doc file (affs.txt).
    122
    123- Sets the NOEXEC flag in read_super() for old file
    124  systems, since you can't run programs on them.
    125
    126Version 3.8
    127-----------
    128Bill Hawes kindly reviewed the affs and sent me the
    129patches he did. They're marked (BH). Thanks, Bill!
    130
    131- Cleanup of error handling in read_super().
    132  Didn't release all resources in case of an
    133  error. (BH)
    134
    135- put_inode() releases the ext cache only if it's
    136  no longer needed. (BH)
    137
    138- One set of dentry callbacks is enough. (BH)
    139
    140- Cleanup of error handling in namei.c. (BH)
    141
    142- Cleanup of error handling in file.c. (BH)
    143
    144- The original blocksize of the device is
    145  restored when the fs is unmounted. (BH)
    146
    147- getblock() did not invalidate the key cache
    148  when it allocated a new block.
    149
    150- Removed some unnecessary locks as Bill
    151  suggested.
    152
    153- Simplified match_name(), changed all hashing
    154  and case insensitive name comparisons to use
    155  uppercase. This makes the tolower() routines
    156  obsolete.
    157
    158- Added mount option 'mufs' to force muFS
    159  uid/gid interpretation.
    160
    161- File mode changes were not updated on disk.
    162  This was fixed before, but somehow got lost.
    163
    164Version 3.7
    165-----------
    166
    167- Added dentry callbacks to allow the dcache to
    168  operate case insensitive and length ignorant
    169  like the affs itself.
    170
    171- getblock() didn't update the lastblock field in the
    172  inode if the fs was not an OFS. This bug only shows
    173  up if a file was enlarged via truncate() and there
    174  was not enough space.
    175
    176- Remove some more superfluous code left over from
    177  the old link days ...
    178
    179- Fixed some oversights which were in patch 2.1.78.
    180
    181- Fixed a few typos.
    182
    183Version 3.6
    184-----------
    185
    186- dentry changes. (Thanks to Jes Sorensen for his help.)
    187
    188- Fixed bug in balloc(): Superblock was not set dirty after
    189  the bitmap was changed, so the bitmap wasn't sync'd.
    190
    191- Fixed nasty bug in find_new_zone(): If the current
    192  zone number was zero, the loop didn't terminate,
    193  causing a solid lock-up.
    194
    195- Removed support for old-style directory reads.
    196
    197- Fixed bug in add_entry(): When doing a sorted insert,
    198  the pointer to the next entry in the hash chain wasn't
    199  correctly byte-swapped. Since most of the users of the
    200  affs use it on a 68k, they didn't notice. But why did
    201  I not find this during my tests?
    202
    203- Fixed some oversights (version wasn't updated on some
    204  directory changes).
    205
    206- Handling of hard links rewritten. To the VFS
    207  they appear now as normal Unix links. They are
    208  now resolved only once in lookup(). The backside
    209  is that unlink(), rename() and rmdir() have to
    210  be smart about them, but the result is worth the
    211  effort. This also led to some code cleanup.
    212
    213- Changed name type to unsigned char; the test for
    214  invalid filenames didn't work correctly.
    215  (Thanks to Michael Krause for pointing at this.)
    216
    217- Changed mapping of executable flag.
    218
    219- Changed all network byte-order macros to the
    220  recommended ones.
    221
    222- Added a remount function, so attempts to remount
    223  a dircache filesystem or one with errors read/write
    224  can be trapped. Previously, ro remounts didn't
    225  flush the super block, and rw remounts didn't
    226  create allocation zones ...
    227
    228- Call shrink_dcache_parent() in rmdir().
    229  (Thanks to Bill Hawes.)
    230
    231- Permission checks in unlink().
    232
    233- Allow mounting of volumes with superfluous
    234  bitmap pointers read only, also allows them
    235  to be remounted read/write.
    236
    237- Owner/Group defaults now to the fs user (i.e.
    238  the one that mounted it) instead of root. This
    239  obsoletes the mount options uid and gid.
    240
    241- Argument to volume option could overflow the
    242  name buffer. It is now silently truncated to
    243  30 characters. (Damn it! This kind of bug
    244  is too embarrassing.)
    245
    246- Split inode.c into 2 files, the superblock
    247  routines desperately wanted their own file.
    248
    249- truncate() didn't allocate an extension block
    250  cache. If a file was extended by means of
    251  truncate(), this led to an Oops.
    252
    253- fsuser is now checked last.
    254
    255- rename() will not ignore changes in filename
    256  casing any more (though mv(1) still won't allow
    257  you to do "mv oldname OldName").
    258
    259Version 3.5
    260-----------
    261
    262- Extension block caches are now allocated on
    263  demand instead of when a file is opened, as
    264  files can be read and written without opening
    265  them (e. g. the loopback device does this).
    266
    267- Removed an unused function.
    268
    269Version 3.4
    270-----------
    271
    272- Hash chains are now sorted by block numbers.
    273  (Thanks to Kars de Jong for finding this.)
    274- Removed all unnecessary external symbols.
    275
    276Version 3.3
    277-----------
    278
    279- Tried to make all types 'correct' and consistent.
    280- Errors and warnings are now reported via a
    281  function. They are all prefixed by a severity
    282  and have the same appearance:
    283    "AFFS: <function>: <error message>"
    284  (There's one exception to this, as in that function
    285  is no pointer to the super block available.)
    286- The filesystem is remounted read-only after an
    287  error.
    288- The names of newly created filesystem objects are
    289  now checked for validity.
    290- Minor cleanups in comments.
    291- Added this Changes file. At last!
    292
    293Version 3.2
    294-----------
    295
    296- Extension block cache: Reading/writing of huge files
    297  (several MB) is much faster (of course the added
    298  overhead slows down opening, but this is hardly
    299  noticeable).
    300- The same get_block()-routine can now be used for
    301  both OFS and FFS.
    302- The super block is now searched in the block that
    303  was calculated and in the one following. This
    304  should remedy the round-off error introduced by
    305  the 1-k blocks that Linux uses.
    306- Minor changes to adhere to the new VFS interface.
    307- The number of used blocks is now also calculated
    308  if the filesystem is mounted read-only.
    309- Prefixed some constants with AFFS_ to avoid name
    310  clashes.
    311- Removed 'EXPERIMENTAL' status.
    312
    313Version 3.1
    314-----------
    315
    316- Fixed a nasty bug which didn't allow read-only
    317  mounts.
    318- Allow dir-cache filesystems to be mounted
    319  read only.
    320- OFS support.
    321- Several other changes I just cannot remember
    322  any more.
    323
    324Version 3.0
    325-----------
    326
    327- Almost complete rewrite for the new VFS
    328  interface in Linux 1.3.
    329- Write support.
    330- Support for hard and symbolic links.
    331- Lots of things I remember even less ...
    332
    333Version 2.0
    334-----------
    335
    336- Fixed a few things to get it compiled.
    337- Automatic root block calculation.
    338- Partition checker for genhd.c
    339
    340========================================
    341
    342Let's just call Ray Burr's original affs
    343'Version 1.0'.