]> 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>
Fri, 19 Feb 2021 15:06:45 +0000 (10:06 -0500)
commit38c7ec427fd2a90363b987d80579e5904dc8f8c9
treeaa949c04bc54add65bf5ba31b6fbe817645a314d
parent9c974e2a5bad81da750aa064505d74e7f9c26656
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)

Conflicts:
src/librbd/api/DiffIterate.cc: trivial resolution due to renames
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