Project

General

Profile

Actions

Feature #63341

closed

improve rbd_diff_iterate2() performance in fast-diff mode

Added by Ilya Dryomov 7 months ago. Updated 3 months ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
% Done:

0%

Source:
Tags:
backport_processed
Backport:
pacific,quincy,reef
Reviewed:
Affected Versions:
Pull request ID:

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


Related issues 4 (0 open4 closed)

Blocked by rbd - Bug #53897: diff-iterate can report holes when diffing against the beginning of time (fromsnapname == NULL)ResolvedIlya Dryomov

Actions
Copied to rbd - Backport #64106: quincy: improve rbd_diff_iterate2() performance in fast-diff modeResolvedIlya DryomovActions
Copied to rbd - Backport #64107: reef: improve rbd_diff_iterate2() performance in fast-diff modeResolvedIlya DryomovActions
Copied to rbd - Backport #64108: pacific: improve rbd_diff_iterate2() performance in fast-diff modeResolvedIlya DryomovActions
Actions

Also available in: Atom PDF