Btrfs: Fix variables set but not read (bugs found by gcc 4.6)

These are all the cases where a variable is set, but not
read which are really bugs.

- Couple of incorrect error handling fixed.
- One incorrect use of a allocation policy
- Some other things

Still needs more review.

Found by gcc 4.6's new warnings.

[akpm@linux-foundation.org: fix build.  Might have been bitrot]
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
Andi Kleen 2010-10-29 15:14:31 -04:00 committed by Chris Mason
parent d0b678cb0a
commit 411fc6bcef
5 changed files with 10 additions and 6 deletions

View File

@ -427,5 +427,5 @@ int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans,
ret = btrfs_truncate_item(trans, root, path, ret = btrfs_truncate_item(trans, root, path,
item_len - sub_item_len, 1); item_len - sub_item_len, 1);
} }
return 0; return ret;
} }

View File

@ -2779,6 +2779,8 @@ int extent_prepare_write(struct extent_io_tree *tree,
NULL, 1, NULL, 1,
end_bio_extent_preparewrite, 0, end_bio_extent_preparewrite, 0,
0, 0); 0, 0);
if (ret && !err)
err = ret;
iocount++; iocount++;
block_start = block_start + iosize; block_start = block_start + iosize;
} else { } else {

View File

@ -1389,7 +1389,7 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset,
if (map_length < length + size) if (map_length < length + size)
return 1; return 1;
return 0; return ret;
} }
/* /*
@ -2709,8 +2709,8 @@ static int check_path_shared(struct btrfs_root *root,
{ {
struct extent_buffer *eb; struct extent_buffer *eb;
int level; int level;
int ret;
u64 refs = 1; u64 refs = 1;
int uninitialized_var(ret);
for (level = 0; level < BTRFS_MAX_LEVEL; level++) { for (level = 0; level < BTRFS_MAX_LEVEL; level++) {
if (!path->nodes[level]) if (!path->nodes[level])
@ -2723,7 +2723,7 @@ static int check_path_shared(struct btrfs_root *root,
if (refs > 1) if (refs > 1)
return 1; return 1;
} }
return 0; return ret; /* XXX callers? */
} }
/* /*

View File

@ -3094,6 +3094,8 @@ static int add_tree_block(struct reloc_control *rc,
BUG_ON(item_size != sizeof(struct btrfs_extent_item_v0)); BUG_ON(item_size != sizeof(struct btrfs_extent_item_v0));
ret = get_ref_objectid_v0(rc, path, extent_key, ret = get_ref_objectid_v0(rc, path, extent_key,
&ref_owner, NULL); &ref_owner, NULL);
if (ret < 0)
return ret;
BUG_ON(ref_owner >= BTRFS_MAX_LEVEL); BUG_ON(ref_owner >= BTRFS_MAX_LEVEL);
level = (int)ref_owner; level = (int)ref_owner;
/* FIXME: get real generation */ /* FIXME: get real generation */
@ -4218,7 +4220,7 @@ int btrfs_reloc_clone_csums(struct inode *inode, u64 file_pos, u64 len)
btrfs_add_ordered_sum(inode, ordered, sums); btrfs_add_ordered_sum(inode, ordered, sums);
} }
btrfs_put_ordered_extent(ordered); btrfs_put_ordered_extent(ordered);
return 0; return ret;
} }
void btrfs_reloc_cow_block(struct btrfs_trans_handle *trans, void btrfs_reloc_cow_block(struct btrfs_trans_handle *trans,

View File

@ -2273,7 +2273,7 @@ int btrfs_del_dir_entries_in_log(struct btrfs_trans_handle *trans,
} }
btrfs_end_log_trans(root); btrfs_end_log_trans(root);
return 0; return err;
} }
/* see comments for btrfs_del_dir_entries_in_log */ /* see comments for btrfs_del_dir_entries_in_log */