mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-04-01 12:04:08 +00:00
Btrfs: cleanup delayed-ref.c:find_ref_head()
The argument last wasn't used, all callers supplied a NULL value for it. Also removed unnecessary intermediate storage of the result of key comparisons. Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com> Signed-off-by: Josef Bacik <jbacik@fb.com>
This commit is contained in:
parent
6103fb43fb
commit
85fdfdf611
1 changed files with 6 additions and 18 deletions
|
@ -199,42 +199,30 @@ static struct btrfs_delayed_ref_head *htree_insert(struct rb_root *root,
|
||||||
*/
|
*/
|
||||||
static struct btrfs_delayed_ref_head *
|
static struct btrfs_delayed_ref_head *
|
||||||
find_ref_head(struct rb_root *root, u64 bytenr,
|
find_ref_head(struct rb_root *root, u64 bytenr,
|
||||||
struct btrfs_delayed_ref_head **last, int return_bigger)
|
int return_bigger)
|
||||||
{
|
{
|
||||||
struct rb_node *n;
|
struct rb_node *n;
|
||||||
struct btrfs_delayed_ref_head *entry;
|
struct btrfs_delayed_ref_head *entry;
|
||||||
int cmp = 0;
|
|
||||||
|
|
||||||
n = root->rb_node;
|
n = root->rb_node;
|
||||||
entry = NULL;
|
entry = NULL;
|
||||||
while (n) {
|
while (n) {
|
||||||
entry = rb_entry(n, struct btrfs_delayed_ref_head, href_node);
|
entry = rb_entry(n, struct btrfs_delayed_ref_head, href_node);
|
||||||
if (last)
|
|
||||||
*last = entry;
|
|
||||||
|
|
||||||
if (bytenr < entry->node.bytenr)
|
if (bytenr < entry->node.bytenr)
|
||||||
cmp = -1;
|
|
||||||
else if (bytenr > entry->node.bytenr)
|
|
||||||
cmp = 1;
|
|
||||||
else
|
|
||||||
cmp = 0;
|
|
||||||
|
|
||||||
if (cmp < 0)
|
|
||||||
n = n->rb_left;
|
n = n->rb_left;
|
||||||
else if (cmp > 0)
|
else if (bytenr > entry->node.bytenr)
|
||||||
n = n->rb_right;
|
n = n->rb_right;
|
||||||
else
|
else
|
||||||
return entry;
|
return entry;
|
||||||
}
|
}
|
||||||
if (entry && return_bigger) {
|
if (entry && return_bigger) {
|
||||||
if (cmp > 0) {
|
if (bytenr > entry->node.bytenr) {
|
||||||
n = rb_next(&entry->href_node);
|
n = rb_next(&entry->href_node);
|
||||||
if (!n)
|
if (!n)
|
||||||
n = rb_first(root);
|
n = rb_first(root);
|
||||||
entry = rb_entry(n, struct btrfs_delayed_ref_head,
|
entry = rb_entry(n, struct btrfs_delayed_ref_head,
|
||||||
href_node);
|
href_node);
|
||||||
if (last)
|
|
||||||
*last = entry;
|
|
||||||
return entry;
|
return entry;
|
||||||
}
|
}
|
||||||
return entry;
|
return entry;
|
||||||
|
@ -414,12 +402,12 @@ btrfs_select_ref_head(struct btrfs_trans_handle *trans)
|
||||||
|
|
||||||
again:
|
again:
|
||||||
start = delayed_refs->run_delayed_start;
|
start = delayed_refs->run_delayed_start;
|
||||||
head = find_ref_head(&delayed_refs->href_root, start, NULL, 1);
|
head = find_ref_head(&delayed_refs->href_root, start, 1);
|
||||||
if (!head && !loop) {
|
if (!head && !loop) {
|
||||||
delayed_refs->run_delayed_start = 0;
|
delayed_refs->run_delayed_start = 0;
|
||||||
start = 0;
|
start = 0;
|
||||||
loop = true;
|
loop = true;
|
||||||
head = find_ref_head(&delayed_refs->href_root, start, NULL, 1);
|
head = find_ref_head(&delayed_refs->href_root, start, 1);
|
||||||
if (!head)
|
if (!head)
|
||||||
return NULL;
|
return NULL;
|
||||||
} else if (!head && loop) {
|
} else if (!head && loop) {
|
||||||
|
@ -897,7 +885,7 @@ btrfs_find_delayed_ref_head(struct btrfs_trans_handle *trans, u64 bytenr)
|
||||||
struct btrfs_delayed_ref_root *delayed_refs;
|
struct btrfs_delayed_ref_root *delayed_refs;
|
||||||
|
|
||||||
delayed_refs = &trans->transaction->delayed_refs;
|
delayed_refs = &trans->transaction->delayed_refs;
|
||||||
return find_ref_head(&delayed_refs->href_root, bytenr, NULL, 0);
|
return find_ref_head(&delayed_refs->href_root, bytenr, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void btrfs_delayed_ref_exit(void)
|
void btrfs_delayed_ref_exit(void)
|
||||||
|
|
Loading…
Add table
Reference in a new issue