From: Josh Durgin Date: Fri, 10 May 2013 00:05:20 +0000 (-0700) Subject: librbd: only send non-zero copyup data X-Git-Tag: v0.63~39^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bfa106694dc4db97f58c623eafc3c2d0f9a8bff1;p=ceph.git librbd: only send non-zero copyup data If the parent image is logically zero for the range of a child object, it's equivalent to the object not existing. Save some I/O and network bandwidth and don't send the useless zeroes. Signed-off-by: Josh Durgin --- diff --git a/src/librbd/AioRequest.cc b/src/librbd/AioRequest.cc index 8d4d98c0bd0f..83e19272f8d2 100644 --- a/src/librbd/AioRequest.cc +++ b/src/librbd/AioRequest.cc @@ -234,7 +234,8 @@ namespace librbd { } void AbstractWrite::send_copyup() { - m_copyup.exec("rbd", "copyup", m_read_data); + if (!m_read_data.is_zero()) + m_copyup.exec("rbd", "copyup", m_read_data); add_copyup_ops(); librados::AioCompletion *rados_completion =