Blob Blame History Raw
From: Nikolay Borisov <nborisov@suse.com>
Date: Tue, 24 Nov 2020 17:49:32 +0200
Subject: btrfs: remove err variable from do_relocation
Git-commit: 8df01fddb77998a46b1b59563e1c5d094dc2586a
Patch-mainline: v5.11-rc1
References: bsc#1187833

It simply gets assigned to 'ret' in case of errors. The flow of the
while loop is not changed by this commit since the few call sites
that 'goto next' will simply break from the loop.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
---
 fs/btrfs/relocation.c |   35 +++++++++++++----------------------
 1 file changed, 13 insertions(+), 22 deletions(-)

--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -2863,8 +2863,7 @@ static int do_relocation(struct btrfs_tr
 	u64 bytenr;
 	u64 generation;
 	int slot;
-	int ret;
-	int err = 0;
+	int ret = 0;
 
 	BUG_ON(lowest && node->eb);
 
@@ -2884,10 +2883,8 @@ static int do_relocation(struct btrfs_tr
 			if (!lowest) {
 				ret = btrfs_bin_search(upper->eb, key,
 						       upper->level, &slot);
-				if (ret < 0) {
-					err = ret;
+				if (ret < 0)
 					goto next;
-				}
 				BUG_ON(ret);
 				bytenr = btrfs_node_blockptr(upper->eb, slot);
 				if (node->eb->start == bytenr)
@@ -2899,10 +2896,8 @@ static int do_relocation(struct btrfs_tr
 		if (!upper->eb) {
 			ret = btrfs_search_slot(trans, root, key, path, 0, 1);
 			if (ret) {
-				if (ret < 0)
-					err = ret;
-				else
-					err = -ENOENT;
+				if (ret > 0)
+					ret = -ENOENT;
 
 				btrfs_release_path(path);
 				break;
@@ -2923,10 +2918,8 @@ static int do_relocation(struct btrfs_tr
 		} else {
 			ret = btrfs_bin_search(upper->eb, key, upper->level,
 					       &slot);
-			if (ret < 0) {
-				err = ret;
+			if (ret < 0)
 				goto next;
-			}
 			BUG_ON(ret);
 		}
 
@@ -2937,7 +2930,7 @@ static int do_relocation(struct btrfs_tr
 		"lowest leaf/node mismatch: bytenr %llu node->bytenr %llu slot %d upper %llu",
 					  bytenr, node->bytenr, slot,
 					  upper->eb->start);
-				err = -EIO;
+				ret = -EIO;
 				goto next;
 			}
 		} else {
@@ -2951,11 +2944,11 @@ static int do_relocation(struct btrfs_tr
 		eb = read_tree_block(fs_info, bytenr, generation,
 				     upper->level - 1, &first_key);
 		if (IS_ERR(eb)) {
-			err = PTR_ERR(eb);
+			ret = PTR_ERR(eb);
 			goto next;
 		} else if (!extent_buffer_uptodate(eb)) {
 			free_extent_buffer(eb);
-			err = -EIO;
+			ret = -EIO;
 			goto next;
 		}
 		btrfs_tree_lock(eb);
@@ -2966,10 +2959,8 @@ static int do_relocation(struct btrfs_tr
 					      slot, &eb);
 			btrfs_tree_unlock(eb);
 			free_extent_buffer(eb);
-			if (ret < 0) {
-				err = ret;
+			if (ret < 0)
 				goto next;
-			}
 			BUG_ON(node->eb != eb);
 		} else {
 			btrfs_set_node_blockptr(upper->eb, slot,
@@ -2995,19 +2986,19 @@ next:
 			drop_node_buffer(upper);
 		else
 			unlock_node_buffer(upper);
-		if (err)
+		if (ret)
 			break;
 	}
 
-	if (!err && node->pending) {
+	if (!ret && node->pending) {
 		drop_node_buffer(node);
 		list_move_tail(&node->list, &rc->backref_cache.changed);
 		node->pending = 0;
 	}
 
 	path->lowest_level = 0;
-	BUG_ON(err == -ENOSPC);
-	return err;
+	BUG_ON(ret == -ENOSPC);
+	return ret;
 }
 
 static int link_to_upper(struct btrfs_trans_handle *trans,