]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
librbd/io: track object non-existence when computing snapshot deltas
authorJason Dillaman <dillaman@redhat.com>
Wed, 3 Feb 2021 18:21:34 +0000 (13:21 -0500)
committerJason Dillaman <dillaman@redhat.com>
Thu, 4 Feb 2021 16:33:30 +0000 (11:33 -0500)
commit89d2a13db67945bfd7c6d6fe79584f00574b8ba3
tree592d2a1461ece24d40103020c7cc8007f53487e2
parenta75c8a0abdb43a60dd7eeb3b405f6b30481cf321
librbd/io: track object non-existence when computing snapshot deltas

Re-use the existing DNE state to track whether or not the object
already exists when computing snapshot deltas from an arbitrary
set of snapshots. Previously, the non-existence of the object was
only computed for snap id 0 for tracking whiteouts. In a future
commit, the deep-copy object-copy state machine will be able to
properly update the object-map state to indicate exists clean
vs non-existent state.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/api/DiffIterate.cc
src/librbd/deep_copy/ObjectCopyRequest.cc
src/librbd/io/ObjectRequest.cc
src/librbd/io/ObjectRequest.h
src/test/librbd/io/test_mock_ObjectRequest.cc