]> git.apps.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>
Sat, 20 Jan 2024 15:06:54 +0000 (16:06 +0100)
commit0c4bb58c900efa2356ea8526d3432b2922787afa
treec2c5cf9d124c676e6d6f1a31db4bef26c155dbc8
parentdabb677ba5923f347c5b4b81b6a86214699a52bf
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>
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