mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 18:46:44 +07:00
dm bufio: clean up rbtree block ordering
dm-bufio uses unnatural ordering in the rb-tree - blocks with smaller numbers were put to the right node and blocks with bigger numbers were put to the left node. Reverse that logic so that it's natural. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
40e9c5ac4e
commit
88f878e588
@ -256,7 +256,7 @@ static struct dm_buffer *__find(struct dm_bufio_client *c, sector_t block)
|
||||
if (b->block == block)
|
||||
return b;
|
||||
|
||||
n = (b->block < block) ? n->rb_left : n->rb_right;
|
||||
n = block < b->block ? n->rb_left : n->rb_right;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@ -276,8 +276,8 @@ static void __insert(struct dm_bufio_client *c, struct dm_buffer *b)
|
||||
}
|
||||
|
||||
parent = *new;
|
||||
new = (found->block < b->block) ?
|
||||
&((*new)->rb_left) : &((*new)->rb_right);
|
||||
new = b->block < found->block ?
|
||||
&found->node.rb_left : &found->node.rb_right;
|
||||
}
|
||||
|
||||
rb_link_node(&b->node, parent, new);
|
||||
|
Loading…
Reference in New Issue
Block a user