[Devel] [PATCH VZ10 v2 0/7] dm-qcow: lseek improvements
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Mon Aug 24 17:38:41 MSK 2026
Reviewed-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
On 8/19/26 02:07, Andrey Zhadchenko wrote:
> This patchset is mostly about improving dm-qcow2 lseek speed. L2 md
> pages can now be scanned in batch with simple for() instead of heavy
> parse_metadata(). Seek qios for backing images are now called with
> a range bigger than 1 cluster if possible.
> Also fix a few clamping bugs and use correct comparison for seek
> modes.
>
> v2:
> - patch #4 "fix seek skip to the next L2 table"
> - changed l2 calculation to a simplier round_up
> - allow l2 skip if the backing data does not exist (e.g. lower is
> shorter)
> - patch #6 "seek unallocated L2 entries in one pass within md"
> - add forgotten to_sector() when skipping unallocated entries
> - NEW patch #7 adressing patch #5 edge case when we do to_sector(end),
> where 'end' may be not sector aligned, thus causing endless loop.
>
> Andrey Zhadchenko (7):
> drivers/md/dm-qcow2: fix lower delta seek window clamp
> drivers/md/dm-qcow2: keep seek parse window within limit
> drivers/md/dm-qcow2: fix seek constant comparison
> drivers/md/dm-qcow2: fix seek skip to the next L2 table
> drivers/md/dm-qcow2: scan lower delta in one pass over empty L1 entry
> drivers/md/dm-qcow2: seek unallocated L2 entries in one pass within md
> drivers/md/dm-qcow2: forbid unaligned virtual size for images
>
> drivers/md/dm-qcow2-map.c | 117 ++++++++++++++++++++++++-----------
> drivers/md/dm-qcow2-target.c | 1 +
> 2 files changed, 82 insertions(+), 36 deletions(-)
>
--
Best regards, Pavel Tikhomirov
Senior Software Developer, Virtuozzo.
More information about the Devel
mailing list