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.