]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: don't update snapshot object maps if copyup data is all zeros
authorIlya Dryomov <idryomov@gmail.com>
Mon, 22 Apr 2019 10:21:07 +0000 (12:21 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 25 Apr 2019 15:15:12 +0000 (17:15 +0200)
commit4456dc3939816a8bcb36dfc771adb1c699b37b0f
tree2e026f2e949fc65653c4b79ca7c7b8d91653ebef
parentb01133661e3bc1814f66df3de70aefd005965b27
librbd: don't update snapshot object maps if copyup data is all zeros

If the data read from the parent is all zeros, deep copyup isn't
performed.  However snapshot object maps are updated unconditionally,
causing inconsistencies where nonexistent objects are marked
OBJECT_EXISTS or OBJECT_EXISTS_CLEAN.

Fixes: http://tracker.ceph.com/issues/39435
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
src/librbd/io/CopyupRequest.cc
src/librbd/io/CopyupRequest.h
src/test/librbd/test_internal.cc