This directory contains patches that were sent to Linus for inclusion
into next official kernel.

Currently all patches are against 2.4.10-pre2.
Patches in this directory are subject to change without any notice.

A-panic-in-reiserfs_read_super.patch [ACCEPTED in 2.4.10-pre4]
   this patch allows reiserfs to cope with an attempt to mount file-system
   with corrupted super-block: reiserfs stores both version-dependent magic
   and version itself in a super-block. This patch just returns error
   rather than panics if they don't match.

B-journal-replay.patch [ACCEPTED in 2.4.10-pre4]
   following patch by Chris Mason allows reiserfs to fail gracefully when
   io error is hit during journal replay: just return error in stead of
   panicking.

C-old-format.patch [ACCEPTED in 2.4.10-pre4]
   this patch fixes bugs in the support for reiserfs format <3.5:
   file-systems of this format are now mountable and convertible.

D-clear-i_blocks.patch [ACCEPTED in 2.4.10-pre4]
   This patch sets inode.i_blocks to zero on deletion of reiserfs
   file. This in particular cures hard to believe bug when saving file in
   EMACS caused top to loose sight of all processes:
    . reiserfs didn't properly cleared i_blocks when removing
      symlinks. Actually -7 was inserted into unsigned i_blocks field. This
      didn't usually hurt because file is being deleted;
    . inode is reused for procfs and neither get_new_inode() nor
      proc_read_inode() cleared i_blocks;
    . now procfs inode has huge i_blocks field;
    . top calls stat on it and libc wrapper returns EOVERFLOW, as i_blocks
      doesn't fit into user-level struct.
    . top sees nothing.
  Alexander Viro and other people proposed that in stead i_blocks
  should be cleared in generic VFS code.

E-pathrelse.patch [ACCEPTED in 2.4.10-pre4]
  This patch adds missing call to pathrelse() to error path in
  reiserfs_do_truncate(). Without pathrelse(), buffers involved
  into balancing by some process remain locked and can deadlock
  another process.

F-reiserfs_get_block-cleanup.patch [ACCEPTED in 2.4.10-pre4]
  This patch fixes several bugs in reiserfs_get_block():
   . race condition, when code took block number from "indirect item"
     without re-checking that this item is still there after blocking
     call. This causes file-system corruption on writing into hole;
   . uses stronger condition to check whether to start new transaction;
   . increase amount of space reserved into transaction (jbegin_count)
     to accommodate for updating of inode on disk (reiserfs_update_sd());
   . cast "block" to loff_t;
   . move (block < 0) check to the top of the function;
   . remove obsolete REISERFS_CHECK around pop_journal_writer();
   . add warning number and \n in warning message;

G-blockalloc-for-disk-90%full.patch [ACCEPTED in 2.4.10-pre4]
  This patch improves behavior of reiserfs block allocator when free
  space is low. By default reiserfs uses so called "border algorithm"
  that reserves first 10% of disk for "formatted nodes" that is,
  nodes of reiserfs tree. With this patch this distinction is dropped
  when free space goes below 10% of total disk space. This has been
  found to improve performance.