diff options
Diffstat (limited to 'drivers/md/persistent-data/dm-btree.c')
-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 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 | ||