From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Zhadchenko Date: Wed, 19 Aug 2026 03:07:38 +0300 Subject: [Devel] [PATCH VZ10 v2 0/7] dm-qcow: lseek improvements Message-ID: <20260819000745.28823-1-andrey.zhadchenko@virtuozzo.com> List-Id: 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(-) -- 2.43.5