Feature #63341
closed
improve rbd_diff_iterate2() performance in fast-diff mode
Added by Ilya Dryomov 7 months ago.
Updated 3 months ago.
Backport:
pacific,quincy,reef
Description
It's very inefficient for use cases where a big byte range is iterated over externally and rbd_diff_iterate2() is invoked effectively on individual objects or use cases where the byte range is small to begin with:
- diff is performed on the entire image no matter how small the byte range is, unused results just get discarded before returning
- intermediate snapshot object maps are loaded even when diffing against the beginning of time (fromsnapname == NULL)
- HEAD object map is loaded even when exclusive lock is held
https://gitlab.com/qemu-project/qemu/-/issues/1026
Ilya Dryomov wrote:
- intermediate snapshot object maps are loaded even when diffing against the beginning of time (fromsnapname == NULL)
This is tied to https://tracker.ceph.com/issues/53897 and requires resolution there. Otherwise results in fast-diff mode wouldn't match those in list-snaps ("slow") mode.
- Blocked by Bug #53897: diff-iterate can report holes when diffing against the beginning of time (fromsnapname == NULL) added
- Status changed from In Progress to Fix Under Review
- Backport set to pacific,quincy,reef
- Pull request ID set to 55127
- Status changed from Fix Under Review to Pending Backport
- Copied to Backport #64106: quincy: improve rbd_diff_iterate2() performance in fast-diff mode added
- Copied to Backport #64107: reef: improve rbd_diff_iterate2() performance in fast-diff mode added
- Copied to Backport #64108: pacific: improve rbd_diff_iterate2() performance in fast-diff mode added
- Tags set to backport_processed
While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".
- Status changed from Pending Backport to Resolved
Also available in: Atom
PDF