Patch name: dm-snapshot-dont-insert-before-existing-chunk.patch Don't insert into hash before an existing chunk. Most inserts are after an existing extent anyway so this code is used very rarely. The snapshot merge code always pulls the chunk from the end of the range. Without introducing unnecessary complexity, snapshot merge can't pull the exception from the middle of a range --- i.e. if you have range 1-10 and you merge chunk 5, you'd have to split the range into two. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Reviewed-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Reviewed-by: Mike Snitzer <snitzer@xxxxxxxxxx> Index: linux-2.6/drivers/md/dm-snap.c =================================================================== --- linux-2.6.orig/drivers/md/dm-snap.c +++ linux-2.6/drivers/md/dm-snap.c @@ -478,16 +478,6 @@ static void insert_completed_exception(s return; } - /* Insert before an existing chunk? */ - if (new_e->old_chunk == (e->old_chunk - 1) && - new_e->new_chunk == (dm_chunk_number(e->new_chunk) - 1)) { - dm_consecutive_chunk_count_inc(e); - e->old_chunk--; - e->new_chunk--; - free_exception(new_e); - return; - } - if (new_e->old_chunk > e->old_chunk) break; } -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel