aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 20a40329d84a..7a75b5010f73 100644
--- a/drivers/md/persistent-data/dm-btree.c
+++ b/drivers/md/persistent-data/dm-btree.c
@@ -897,8 +897,12 @@ static int find_key(struct ro_spine *s, dm_block_t block, bool find_highest,
897 else 897 else
898 *result_key = le64_to_cpu(ro_node(s)->keys[0]); 898 *result_key = le64_to_cpu(ro_node(s)->keys[0]);
899 899
900 if (next_block || flags & INTERNAL_NODE) 900 if (next_block || flags & INTERNAL_NODE) {
901 block = value64(ro_node(s), i); 901 if (find_highest)
902 block = value64(ro_node(s), i);
903 else
904 block = value64(ro_node(s), 0);
905 }
902 906
903 } while (flags & INTERNAL_NODE); 907 } while (flags & INTERNAL_NODE);
904 908