Skip to content

Commit cc925b9

Browse files
fdmananakdave
authored andcommitted
btrfs: use a single variable for return value at lookup_inline_extent_backref()
At lookup_inline_extent_backref(), instead of using a 'ret' and an 'err' variable for tracking the return value, use a single one ('ret'). This simplifies the code, makes it comply with most of the existing code and it's less prone for logic errors as time has proven over and over in the btrfs code. Reviewed-by: Josef Bacik <[email protected]> Signed-off-by: Filipe Manana <[email protected]> Reviewed-by: David Sterba <[email protected]> Signed-off-by: David Sterba <[email protected]>
1 parent 20fb05a commit cc925b9

File tree

1 file changed

+15
-18
lines changed

1 file changed

+15
-18
lines changed

fs/btrfs/extent-tree.c

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,6 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
789789
int type;
790790
int want;
791791
int ret;
792-
int err = 0;
793792
bool skinny_metadata = btrfs_fs_incompat(fs_info, SKINNY_METADATA);
794793
int needed;
795794

@@ -816,10 +815,8 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
816815

817816
again:
818817
ret = btrfs_search_slot(trans, root, &key, path, extra_size, 1);
819-
if (ret < 0) {
820-
err = ret;
818+
if (ret < 0)
821819
goto out;
822-
}
823820

824821
/*
825822
* We may be a newly converted file system which still has the old fat
@@ -846,26 +843,26 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
846843
}
847844

848845
if (ret && !insert) {
849-
err = -ENOENT;
846+
ret = -ENOENT;
850847
goto out;
851848
} else if (WARN_ON(ret)) {
852849
btrfs_print_leaf(path->nodes[0]);
853850
btrfs_err(fs_info,
854851
"extent item not found for insert, bytenr %llu num_bytes %llu parent %llu root_objectid %llu owner %llu offset %llu",
855852
bytenr, num_bytes, parent, root_objectid, owner,
856853
offset);
857-
err = -EIO;
854+
ret = -EIO;
858855
goto out;
859856
}
860857

861858
leaf = path->nodes[0];
862859
item_size = btrfs_item_size(leaf, path->slots[0]);
863860
if (unlikely(item_size < sizeof(*ei))) {
864-
err = -EUCLEAN;
861+
ret = -EUCLEAN;
865862
btrfs_err(fs_info,
866863
"unexpected extent item size, has %llu expect >= %zu",
867864
item_size, sizeof(*ei));
868-
btrfs_abort_transaction(trans, err);
865+
btrfs_abort_transaction(trans, ret);
869866
goto out;
870867
}
871868

@@ -885,11 +882,11 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
885882
else
886883
needed = BTRFS_REF_TYPE_BLOCK;
887884

888-
err = -ENOENT;
885+
ret = -ENOENT;
889886
while (1) {
890887
if (ptr >= end) {
891888
if (ptr > end) {
892-
err = -EUCLEAN;
889+
ret = -EUCLEAN;
893890
btrfs_print_leaf(path->nodes[0]);
894891
btrfs_crit(fs_info,
895892
"overrun extent record at slot %d while looking for inline extent for root %llu owner %llu offset %llu parent %llu",
@@ -900,7 +897,7 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
900897
iref = (struct btrfs_extent_inline_ref *)ptr;
901898
type = btrfs_get_extent_inline_ref_type(leaf, iref, needed);
902899
if (type == BTRFS_REF_TYPE_INVALID) {
903-
err = -EUCLEAN;
900+
ret = -EUCLEAN;
904901
goto out;
905902
}
906903

@@ -916,7 +913,7 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
916913
dref = (struct btrfs_extent_data_ref *)(&iref->offset);
917914
if (match_extent_data_ref(leaf, dref, root_objectid,
918915
owner, offset)) {
919-
err = 0;
916+
ret = 0;
920917
break;
921918
}
922919
if (hash_extent_data_ref_item(leaf, dref) <
@@ -927,14 +924,14 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
927924
ref_offset = btrfs_extent_inline_ref_offset(leaf, iref);
928925
if (parent > 0) {
929926
if (parent == ref_offset) {
930-
err = 0;
927+
ret = 0;
931928
break;
932929
}
933930
if (ref_offset < parent)
934931
break;
935932
} else {
936933
if (root_objectid == ref_offset) {
937-
err = 0;
934+
ret = 0;
938935
break;
939936
}
940937
if (ref_offset < root_objectid)
@@ -943,10 +940,10 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
943940
}
944941
ptr += btrfs_extent_inline_ref_size(type);
945942
}
946-
if (err == -ENOENT && insert) {
943+
if (ret == -ENOENT && insert) {
947944
if (item_size + extra_size >=
948945
BTRFS_MAX_EXTENT_ITEM_SIZE(root)) {
949-
err = -EAGAIN;
946+
ret = -EAGAIN;
950947
goto out;
951948
}
952949
/*
@@ -958,7 +955,7 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
958955
if (find_next_key(path, 0, &key) == 0 &&
959956
key.objectid == bytenr &&
960957
key.type < BTRFS_BLOCK_GROUP_ITEM_KEY) {
961-
err = -EAGAIN;
958+
ret = -EAGAIN;
962959
goto out;
963960
}
964961
}
@@ -969,7 +966,7 @@ int lookup_inline_extent_backref(struct btrfs_trans_handle *trans,
969966
path->search_for_extension = 0;
970967
btrfs_unlock_up_safe(path, 1);
971968
}
972-
return err;
969+
return ret;
973970
}
974971

975972
/*

0 commit comments

Comments
 (0)