]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: Create few empty objects during copyup
authorVenky Shankar <vshankar@redhat.com>
Thu, 1 Dec 2016 04:57:30 +0000 (10:27 +0530)
committerVenky Shankar <vshankar@redhat.com>
Sat, 21 Jan 2017 10:59:27 +0000 (16:29 +0530)
commitc455711c2fb22dcfd09d3b77cc289c649b44e69b
tree6fe5e6dca51c4d7cb3a2d2a96ae99986495b6472
parentad0dcff47f60a949b70fd75dd7813cdc5a621810
librbd: Create few empty objects during copyup

This is based out of Doug's (@fullerdj) work (PR #9329)
as an attempt to avoid creating empty objects when
flattening an image and otherwise whenever unnecessary.

This gives good optimization benefit when a parent image
is sparsely populated. Moreover, this change is required
for correct behavior when checking disk usage of a clone
(which used to report fully allocated image due to all,
including empty objects being created during flatten).

Signed-off-by: Douglas Fuller dfuller@redhat.com
Signed-off-by: Venky Shankar <vshankar@redhat.com>
src/librbd/AioObjectRequest.cc
src/librbd/AioObjectRequest.h
src/librbd/CopyupRequest.cc
src/librbd/CopyupRequest.h