dm-bufio use unnatural ordering in the rb-tree - blocks with smaller
nubmers were put to the right node and blocks with bigget numbers were put
to the left node.

This patch reverses the logic, so that i's natural.

Signed-off-by: Mikulas Patocka <mpato...@redhat.com>

---
 drivers/md/dm-bufio.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6/drivers/md/dm-bufio.c
===================================================================
--- linux-2.6.orig/drivers/md/dm-bufio.c        2020-06-02 13:27:14.000000000 
+0200
+++ linux-2.6/drivers/md/dm-bufio.c     2020-06-02 14:26:32.000000000 +0200
@@ -256,7 +256,7 @@ static struct dm_buffer *__find(struct d
                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_cli
                }
 
                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);

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to