History

dm btree remove: fix bug in remove_one()

remove_one() was not incrementing the key for the beginning of the range, so not all entries were being removed. This resulted in discards that were not unmapping all blocks.

Joe Thornber committed 11 years ago

Commit aa0cd281 parent bd4aaf81 file · +1 −0Browse files

Unified · Split

drivers/md/persistent-data/dm-btree-remove.c+1−0
@@ -689,6 +689,7 @@ static int remove_one(struct dm_btree_info *info, dm_block_t root, · 688 unmodified lines
689689 value_ptr(n, index));
690690
691691 delete_at(n, index);
692+ keys[last_level] = k + 1ull;
692693
693694 } else
694695 r = -ENODATA;