[Devel] [PATCH VZ10 1/6] drivers/md/dm-qcow2: fix lower delta seek window clamp
Andrey Zhadchenko
andrey.zhadchenko at virtuozzo.com
Mon Aug 10 15:29:55 MSK 2026
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>
---
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
More information about the Devel
mailing list