]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: batch ObjectMap updations upon trim 11510/head
authorVenky Shankar <vshankar@redhat.com>
Sat, 15 Oct 2016 11:48:30 +0000 (17:18 +0530)
committerVenky Shankar <vshankar@redhat.com>
Thu, 3 Nov 2016 03:23:55 +0000 (08:53 +0530)
commit05653b7c512334533b801013f7e426363237301b
tree81df6ae77c47a929211474836ab828217a12d3da
parentfac6335a1eea12270f76cf2c7814648669e6515a
librbd: batch ObjectMap updations upon trim

Shrinking a clone which has snapshots and does not share
majority of objects with its parent (i.e., there are less
objects to be copied up) involves huge number of object
map updates -- two (pre, post) per object. This results
in lots of requests to be send to OSDs especially when
trimming a gigantus image. This situation can be optimized
by sending batch ObjectMap updates for an object range
thereby significantly cutting down OSD traffic resulting
in faster trim times.

Fixes: http://tracker.ceph.com/issues/17356
Signed-off-by: Venky Shankar <vshankar@redhat.com>
src/librbd/AioObjectRequest.h
src/librbd/operation/TrimRequest.cc
src/librbd/operation/TrimRequest.h