Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 411fc6bc authored by Andi Kleen's avatar Andi Kleen Committed by Chris Mason
Browse files

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: default avatarAndi Kleen <ak@linux.intel.com>
Cc: Chris Mason <chris.mason@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent d0b678cb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -427,5 +427,5 @@ int btrfs_delete_one_dir_name(struct btrfs_trans_handle *trans,
		ret = btrfs_truncate_item(trans, root, path,
					  item_len - sub_item_len, 1);
	}
	return 0;
	return ret;
}
+2 −0
Original line number Diff line number Diff line
@@ -2779,6 +2779,8 @@ int extent_prepare_write(struct extent_io_tree *tree,
					 NULL, 1,
					 end_bio_extent_preparewrite, 0,
					 0, 0);
			if (ret && !err)
				err = ret;
			iocount++;
			block_start = block_start + iosize;
		} else {
+3 −3
Original line number Diff line number Diff line
@@ -1389,7 +1389,7 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset,

	if (map_length < length + size)
		return 1;
	return 0;
	return ret;
}

/*
@@ -2709,8 +2709,8 @@ static int check_path_shared(struct btrfs_root *root,
{
	struct extent_buffer *eb;
	int level;
	int ret;
	u64 refs = 1;
	int uninitialized_var(ret);

	for (level = 0; level < BTRFS_MAX_LEVEL; level++) {
		if (!path->nodes[level])
@@ -2723,7 +2723,7 @@ static int check_path_shared(struct btrfs_root *root,
		if (refs > 1)
			return 1;
	}
	return 0;
	return ret; /* XXX callers? */
}

/*
+3 −1
Original line number Diff line number Diff line
@@ -3094,6 +3094,8 @@ static int add_tree_block(struct reloc_control *rc,
		BUG_ON(item_size != sizeof(struct btrfs_extent_item_v0));
		ret = get_ref_objectid_v0(rc, path, extent_key,
					  &ref_owner, NULL);
		if (ret < 0)
			return ret;
		BUG_ON(ref_owner >= BTRFS_MAX_LEVEL);
		level = (int)ref_owner;
		/* 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_put_ordered_extent(ordered);
	return 0;
	return ret;
}

void btrfs_reloc_cow_block(struct btrfs_trans_handle *trans,
+1 −1
Original line number Diff line number Diff line
@@ -2273,7 +2273,7 @@ int btrfs_del_dir_entries_in_log(struct btrfs_trans_handle *trans,
	}
	btrfs_end_log_trans(root);

	return 0;
	return err;
}

/* see comments for btrfs_del_dir_entries_in_log */