]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
librbd: restore diff-iterate include_parent functionality in fast-diff mode
authorIlya Dryomov <idryomov@gmail.com>
Wed, 5 Jan 2022 19:24:40 +0000 (20:24 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 19 Jan 2022 21:15:04 +0000 (22:15 +0100)
commit0f293714f39d1b38d0bf933984d6945139ff9c26
tree0148f430f6429376c8a477704b6bbce3cf340a1b
parent653efc847ae4cf34d9f5f57d438a6ef3e4619fe0
librbd: restore diff-iterate include_parent functionality in fast-diff mode

Commit 4429ed4f3f4c ("librbd: switch diff iterate API to use new snaps
list dispatch methods") removed the recursive execute() call.  The new
list_snaps method does indeed handle parent diffs internally but it is
not used in fast-diff mode.  Nothing changed there -- we still need to
load the parent object map, calculate parent object_diff_state, etc.

Fixes: https://tracker.ceph.com/issues/53787
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 04293bef6ccd2b9ca3db53906b63c952e235cdb4)

Conflicts:
src/librbd/api/DiffIterate.cc [ drop all changes, bring in
  just the new test ]
src/test/librbd/test_librbd.cc