Searched hist:"8 a2d5286" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/md/ |
H A D | dm-snap.c | 8a2d5286 Thu Dec 10 17:52:34 CST 2009 Mike Snitzer <snitzer@redhat.com> dm snapshot: merge consecutive chunks together
s->store->type->prepare_merge returns the number of chunks that can be copied linearly working backwards from the returned chunk number.
For example, if it returns 3 chunks with old_chunk == 10 and new_chunk == 20, then chunk 20 can be copied to 10, chunk 19 to 9 and 18 to 8.
Until now kcopyd only copied one chunk at a time. This patch now copies the full set at once.
Consequently, snapshot_merge_process() needs to delay the merging of all chunks if any have writes in progress, not just the first chunk in the region that is to be merged.
snapshot-merge's performance is now comparable to the original snapshot-origin target.
Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com> 8a2d5286 Thu Dec 10 17:52:34 CST 2009 Mike Snitzer <snitzer@redhat.com> dm snapshot: merge consecutive chunks together s->store->type->prepare_merge returns the number of chunks that can be copied linearly working backwards from the returned chunk number. For example, if it returns 3 chunks with old_chunk == 10 and new_chunk == 20, then chunk 20 can be copied to 10, chunk 19 to 9 and 18 to 8. Until now kcopyd only copied one chunk at a time. This patch now copies the full set at once. Consequently, snapshot_merge_process() needs to delay the merging of all chunks if any have writes in progress, not just the first chunk in the region that is to be merged. snapshot-merge's performance is now comparable to the original snapshot-origin target. Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
|