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
689 value_ptr(n, index));689 value_ptr(n, index));
690 690
691 delete_at(n, index);691 delete_at(n, index);
692 keys[last_level] = k + 1ull;
692 693
693 } else694 } else
694 r = -ENODATA;695 r = -ENODATA;