Commit 10de00c7 authored by Sun YangKai's avatar Sun YangKai Committed by David Sterba
Browse files

btrfs: remove unnecessary btrfs_key local variable in btrfs_search_forward()



The 'found_key' variable was only used to temporarily store the found key
before copying it to 'min_key' at the end of the function when returning
success.

Eliminate the 'found_key' variable, and directly store the key into
'min_key' at the exact loop exit points where ret=0 is set, maintaining
identical functionality.

Signed-off-by: default avatarSun YangKai <sunk67188@gmail.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 140ac522
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -4607,7 +4607,6 @@ int btrfs_search_forward(struct btrfs_root *root, struct btrfs_key *min_key,
			 u64 min_trans)
{
	struct extent_buffer *cur;
	struct btrfs_key found_key;
	int slot;
	int sret;
	u32 nritems;
@@ -4643,7 +4642,8 @@ int btrfs_search_forward(struct btrfs_root *root, struct btrfs_key *min_key,
				goto find_next_key;
			ret = 0;
			path->slots[level] = slot;
			btrfs_item_key_to_cpu(cur, &found_key, slot);
			/* Save our key for returning back. */
			btrfs_item_key_to_cpu(cur, min_key, slot);
			goto out;
		}
		if (sret && slot > 0)
@@ -4678,11 +4678,11 @@ int btrfs_search_forward(struct btrfs_root *root, struct btrfs_key *min_key,
				goto out;
			}
		}
		/* save our key for returning back */
		btrfs_node_key_to_cpu(cur, &found_key, slot);
		path->slots[level] = slot;
		if (level == path->lowest_level) {
			ret = 0;
			/* Save our key for returning back. */
			btrfs_node_key_to_cpu(cur, min_key, slot);
			goto out;
		}
		cur = btrfs_read_node_slot(cur, slot);
@@ -4699,10 +4699,8 @@ int btrfs_search_forward(struct btrfs_root *root, struct btrfs_key *min_key,
	}
out:
	path->keep_locks = keep_locks;
	if (ret == 0) {
	if (ret == 0)
		btrfs_unlock_up_safe(path, path->lowest_level + 1);
		memcpy(min_key, &found_key, sizeof(found_key));
	}
	return ret;
}