[Devel] [PATCH RHEL10 COMMIT] dm-qcow2: fix lower delta seek window clamp

Konstantin Khorenko khorenko at virtuozzo.com
Tue Aug 25 13:41:54 MSK 2026


The commit is pushed to "branch-rh10-6.12.0-211.39.1.16.x.vz10-ovz" and will appear at git at bitbucket.org:openvz/vzkernel.git
after rh10-6.12.0-211.39.1.16.9.vz10
------>
commit fde033dabdab8ffa4e3c21fc692029c165cd2a4b
Author: Andrey Zhadchenko <andrey.zhadchenko at virtuozzo.com>
Date:   Wed Aug 19 03:07:39 2026 +0300

    dm-qcow2: fix lower delta seek window clamp
    
    size may be smaller than old_qio->bi_iter.bi_size: we calculate it
    beforehand with calc_front_qio_bytes().
    
    https://virtuozzo.atlassian.net/browse/VSTOR-139407
    Feature: dm-qcow2: block device over QCOW2 files driver
    Signed-off-by: Andrey Zhadchenko <andrey.zhadchenko at virtuozzo.com>
    Reviewed-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
    Reviewed-by: Vasileios Almpanis <vasileios.almpanis at virtuozzo.com>
---
 drivers/md/dm-qcow2-map.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/md/dm-qcow2-map.c b/drivers/md/dm-qcow2-map.c
index db21efb45e17a..542c7949321e5 100644
--- a/drivers/md/dm-qcow2-map.c
+++ b/drivers/md/dm-qcow2-map.c
@@ -4437,12 +4437,11 @@ static inline void seek_qio_next_clu(struct qio *qio, struct qcow2_map *map)
 static struct qio *advance_and_spawn_lower_seek_qio(struct qio *old_qio, u32 size)
 {
 	struct qio *new_qio;
-	loff_t start, old_end;
+	loff_t start;
 
 	start = to_bytes(old_qio->bi_iter.bi_sector);
-	old_end = start + old_qio->bi_iter.bi_size;
 
-	if (old_end > old_qio->qcow2->lower->hdr.size)
+	if (start + size > old_qio->qcow2->lower->hdr.size)
 		size = old_qio->qcow2->lower->hdr.size - start;
 
 	new_qio = alloc_seek_qio(old_qio->qcow2->lower, old_qio, start + size);


More information about the Devel mailing list