diff options
author | Mike Snitzer <snitzer@redhat.com> | 2009-12-10 23:52:34 +0000 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2009-12-10 23:52:34 +0000 |
commit | 8a2d528620e228ddfd0df9cec0a16e034ff8db1d (patch) | |
tree | ff93eac3e996df7bf046d08c7386d690c3fd5ee0 /mm | |
parent | 73dfd078cf8bfee4018fb22f1e2a24f2e05b69dc (diff) | |
download | op-kernel-dev-8a2d528620e228ddfd0df9cec0a16e034ff8db1d.zip op-kernel-dev-8a2d528620e228ddfd0df9cec0a16e034ff8db1d.tar.gz |
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>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions