]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd/object_map: resurrect diff-iterate behavior when image is shrunk
authorIlya Dryomov <idryomov@gmail.com>
Fri, 22 Dec 2023 17:50:20 +0000 (18:50 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Sat, 20 Jan 2024 15:06:53 +0000 (16:06 +0100)
commit19c7c4a5359fa9c1d06cc11187e300251249ad9e
tree084198b4a225a143005f94ae90d4407fe90764eb
parent34386d29a8b96de79c38465062b8e93e7fc6e184
librbd/object_map: resurrect diff-iterate behavior when image is shrunk

The new "track the largest of all versions in the set, diff state is
only ever grown" semantics introduced in commit 330f2a7bb94f ("librbd:
helper state machine for computing diffs between object-maps") don't
make sense for diff-iterate.  It's a waste because DiffIterate won't
query beyond the end version size -- this is baked into the API.

Limit this behavior to deep-copy and resurrect the original behavior
from 2015 for diff-iterate.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
src/librbd/object_map/DiffRequest.cc
src/test/librbd/object_map/test_mock_DiffRequest.cc