]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd/object_map: diff state machine should track object existence
authorJason Dillaman <dillaman@redhat.com>
Thu, 28 Jan 2021 23:30:16 +0000 (18:30 -0500)
committerJason Dillaman <dillaman@redhat.com>
Thu, 11 Feb 2021 18:51:46 +0000 (13:51 -0500)
commitae4f94f890cf0a9c4a869ae6dc7b0ee07185bc2b
tree01e1b38f156c53010b70fced7ef01e0618aa635a
parentbc67ae6cb4df993fbf5cc6b14410dc0883a32227
librbd/object_map: diff state machine should track object existence

The deep-copy snapshot-create state machine initializes the object-map
state to non-existent for all objects. There was an assumption that the
deep-copy object-copy state machine would always update the object map
but that was being skipped for clean objects as an optimization. This
change will support a future commit to run the object-copy state machine
for existing objects.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit b81cd2460de748c71210520f8c819895f257f0c7)
src/librbd/api/DiffIterate.cc
src/librbd/deep_copy/ImageCopyRequest.cc
src/librbd/object_map/DiffRequest.cc
src/librbd/object_map/DiffRequest.h
src/librbd/object_map/Types.h
src/test/librbd/object_map/test_mock_DiffRequest.cc