[PATCH] reiserfs patchset, patch 6 of 9 06-return_braindamage_removal.diff

From: Oleg Drokin on behalf of Hans Reiser (reiser@namesys.com)
Date: Tue Feb 05 2002 - 12:31:38 EST


Hello!

This set of patches of which this is one will update ReiserFS in 2.5.3
with latest bugfixes. Also it cleanups the code a bit and adds more helpful
messages in some places.

06-return_braindamage_removal.diff
    Kill stupid code like 'goto label ; return 1;'

The other patches in this set are:

01-pick_correct_key_version.diff
    This is to fix certain cases where items may get its keys to be interpreted
    wrong, or to be inserted into the tree in wrong order. This bug was only
    observed live on 2.5.3, though it is present in 2.4, too.

02-prealloc_list_init.diff
    prealloc list was forgotten to be initialised.

03-key_output_fix.diff
    Fix all the places where cpu key is attempted to be printed as ondisk key

04-nfs_stale_inode_access.diff
    This is to fix a case where stale NFS handles are correctly detected as
    stale, but inodes assotiated with them are still valid and present in cache, hence there is no way to deal with files, these handles are attached to.
    Bug was found and explained by
    Anne Milicia <milicia@missioncriticallinux.com>

05-kernel-reiserfs_fs_h-offset_v2.diff
    Convert erroneous le64_to_cpu to cpu_to_le64

06-return_braindamage_removal.diff
    Kill stupid code like 'goto label ; return 1;'

07-remove_nospace_warnings.diff
    Do not print scary warnings in out of free space situations.

08-unfinished_rebuildtree_message.diff
    Give a proper explanation if unfinished reiserfsck --rebuild-tree
    run on a fs was detected.

09-64bit_bitops_fix-1.diff
    Bitopts arguments must be long, not int.

--- linux-2.5.3/fs/reiserfs/fix_node.c.orig Thu Jan 31 09:25:23 2002
+++ linux-2.5.3/fs/reiserfs/fix_node.c Tue Feb 5 16:48:52 2002
@@ -2356,7 +2356,6 @@
     for ( n_h = 0; n_h < MAX_HEIGHT && p_s_tb->insert_size[n_h]; n_h++ ) {
         if ( (n_ret_value = get_direct_parent(p_s_tb, n_h)) != CARRY_ON ) {
             goto repeat;
- return n_ret_value;
         }
 
         if ( (n_ret_value = check_balance (n_op_mode, p_s_tb, n_h, n_item_num,
@@ -2365,7 +2364,6 @@
                 /* No balancing for higher levels needed. */
                 if ( (n_ret_value = get_neighbors(p_s_tb, n_h)) != CARRY_ON ) {
                     goto repeat;
- return n_ret_value;
                 }
                 if ( n_h != MAX_HEIGHT - 1 )
                     p_s_tb->insert_size[n_h + 1] = 0;
@@ -2373,17 +2371,14 @@
                 break;
             }
             goto repeat;
- return n_ret_value;
         }
 
         if ( (n_ret_value = get_neighbors(p_s_tb, n_h)) != CARRY_ON ) {
             goto repeat;
- return n_ret_value;
         }
 
         if ( (n_ret_value = get_empty_nodes(p_s_tb, n_h)) != CARRY_ON ) {
- goto repeat;
- return n_ret_value; /* No disk space, or schedule occurred and
+ goto repeat; /* No disk space, or schedule occurred and
                                    analysis may be invalid and needs to be redone. */
         }
     
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Feb 07 2002 - 21:00:43 EST