]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librbd: try to preserve object map for diff-iterate in fast-diff mode
authorIlya Dryomov <idryomov@gmail.com>
Sat, 6 Jan 2024 16:08:04 +0000 (17:08 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Sat, 20 Jan 2024 15:33:32 +0000 (16:33 +0100)
commit2749dd34f1edddd33ba9b8c3d522d7df0e52eb90
tree6d1fe6db43d3c5724155340c8588843c0289406d
parent9f7f52a88eaf5d67065909c69d1078911907f233
librbd: try to preserve object map for diff-iterate in fast-diff mode

As an optimization, try to ensure that the object map for the end
version is preloaded through the acquisition of exclusive lock and
as a consequence remains around until exclusive lock is released.
If it's not around, DiffRequest would (re)load it on each call.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 89b0d9e7b40a5f962094428e613315d3697d261f)

Conflicts:
src/librbd/api/DiffIterate.cc [ ImageArea support not in
  pacific ]
src/librbd/ImageCtx.h
src/librbd/api/DiffIterate.cc
src/test/librbd/test_librbd.cc