]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: deep-copy should update object-map before writing to object
authorJason Dillaman <dillaman@redhat.com>
Fri, 25 Sep 2020 14:40:32 +0000 (10:40 -0400)
committerJason Dillaman <dillaman@redhat.com>
Fri, 19 Feb 2021 15:06:45 +0000 (10:06 -0500)
commit2d17abb8f2bc337d99df600051e2b47d4c23b3ed
tree43fbaac4ddfc38fa023122fd0f0671403305a024
parent38c7ec427fd2a90363b987d80579e5904dc8f8c9
librbd: deep-copy should update object-map before writing to object

For the original use-case of RBD mirroring it was (maybe) more
acceptable to write to the object before updating the object map
because an interrupted sync will be retried. However, when using
the deep-copy object copy state machine as part of copyup, it's
more likely that the object-map has the potential to become
out-of-sync with reality if it's updated after the object is
written.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit e782b85bfda8ae6487c637af0059ab94fba332d6)

Conflicts:
src/librbd/deep_copy/ObjectCopyRequest.cc: trivial resolution
src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc: trivial resolution
src/librbd/deep_copy/ObjectCopyRequest.cc
src/librbd/deep_copy/ObjectCopyRequest.h
src/test/librbd/deep_copy/test_mock_ObjectCopyRequest.cc