btrfs: ctree: Reduce one indent level for btrfs_search_old_slot()
Similar to btrfs_search_slot() done in previous patch, make a shortcut for the level 0 case and allow to reduce indentation for the remaining case. Reviewed-by: Anand Jain <anand.jain@oracle.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> [ update changelog ] Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
@@ -3005,6 +3005,8 @@ again:
|
|||||||
p->locks[level] = BTRFS_READ_LOCK;
|
p->locks[level] = BTRFS_READ_LOCK;
|
||||||
|
|
||||||
while (b) {
|
while (b) {
|
||||||
|
int dec = 0;
|
||||||
|
|
||||||
level = btrfs_header_level(b);
|
level = btrfs_header_level(b);
|
||||||
p->nodes[level] = b;
|
p->nodes[level] = b;
|
||||||
|
|
||||||
@@ -3025,11 +3027,15 @@ again:
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
if (level != 0) {
|
if (level == 0) {
|
||||||
int dec = 0;
|
p->slots[level] = slot;
|
||||||
|
unlock_up(p, level, lowest_unlock, 0, NULL);
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
if (ret && slot > 0) {
|
if (ret && slot > 0) {
|
||||||
dec = 1;
|
dec = 1;
|
||||||
slot -= 1;
|
slot--;
|
||||||
}
|
}
|
||||||
p->slots[level] = slot;
|
p->slots[level] = slot;
|
||||||
unlock_up(p, level, lowest_unlock, 0, NULL);
|
unlock_up(p, level, lowest_unlock, 0, NULL);
|
||||||
@@ -3040,8 +3046,7 @@ again:
|
|||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = read_block_for_search(root, p, &b, level,
|
err = read_block_for_search(root, p, &b, level, slot, key);
|
||||||
slot, key);
|
|
||||||
if (err == -EAGAIN)
|
if (err == -EAGAIN)
|
||||||
goto again;
|
goto again;
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -3061,11 +3066,6 @@ again:
|
|||||||
}
|
}
|
||||||
p->locks[level] = BTRFS_READ_LOCK;
|
p->locks[level] = BTRFS_READ_LOCK;
|
||||||
p->nodes[level] = b;
|
p->nodes[level] = b;
|
||||||
} else {
|
|
||||||
p->slots[level] = slot;
|
|
||||||
unlock_up(p, level, lowest_unlock, 0, NULL);
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
ret = 1;
|
ret = 1;
|
||||||
done:
|
done:
|
||||||
|
|||||||
Reference in New Issue
Block a user