diff options
-rw-r--r-- | drivers/md/persistent-data/dm-btree.c | 8 |
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 | ||