]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd/object_map: potentially use in-memory object map in DiffRequest
authorIlya Dryomov <idryomov@gmail.com>
Sat, 6 Jan 2024 16:05:39 +0000 (17:05 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 2 Feb 2024 14:36:57 +0000 (15:36 +0100)
commitbbd75c7f15f47ade184028799f615f69204fad77
treef8380ff8291567bb4ea06e8acb288130f39c98d2
parentb2420cfc71eb1632d4185a9500a4f87e80d25671
librbd/object_map: potentially use in-memory object map in DiffRequest

If the object map for the end version is around (already loaded in
memory, either due to the end version being a snapshot or due to
exclusive lock being held), use it to run diff-iterate against the
beginning of time.  Since it's the only object map needed in that
case, such calls would be satisfied locally.

Fixes: https://tracker.ceph.com/issues/63341
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 0c4bb58c900efa2356ea8526d3432b2922787afa)
src/librbd/ObjectMap.h
src/librbd/object_map/DiffRequest.cc
src/test/librbd/mock/MockObjectMap.h
src/test/librbd/object_map/test_mock_DiffRequest.cc