aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/persistent-data/dm-btree.c')
-rw-r--r--drivers/md/persistent-data/dm-btree.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/md/persistent-data/dm-btree.c b/drivers/md/persistent-data/dm-btree.c
index b1ced58eb5e1..a1a68209bd36 100644
--- a/drivers/md/persistent-data/dm-btree.c
+++ b/drivers/md/persistent-data/dm-btree.c
@@ -887,8 +887,12 @@ static int find_key(struct ro_spine *s, dm_block_t block, bool find_highest,
887 else 887 else
888 *result_key = le64_to_cpu(ro_node(s)->keys[0]); 888 *result_key = le64_to_cpu(ro_node(s)->keys[0]);
889 889
890 if (next_block || flags & INTERNAL_NODE) 890 if (next_block || flags & INTERNAL_NODE) {
891 block = value64(ro_node(s), i); 891 if (find_highest)
892 block = value64(ro_node(s), i);
893 else
894 block = value64(ro_node(s), 0);
895 }
892 896
893 } while (flags & INTERNAL_NODE); 897 } while (flags & INTERNAL_NODE);
894 898