From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Zhadchenko Date: Wed, 19 Aug 2026 03:07:39 +0300 Subject: [Devel] [PATCH VZ10 v2 1/7] drivers/md/dm-qcow2: fix lower delta seek window clamp In-Reply-To: <20260819000745.28823-1-andrey.zhadchenko@virtuozzo.com> References: <20260819000745.28823-1-andrey.zhadchenko@virtuozzo.com> Message-ID: <20260819000745.28823-2-andrey.zhadchenko@virtuozzo.com> List-Id: 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 --- 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); -- 2.43.5