[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH 5/8] block/backup: fix backup_cow_with_offload for l
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-block] [PATCH 5/8] block/backup: fix backup_cow_with_offload for last cluster |
Date: |
Wed, 7 Aug 2019 11:07:47 +0300 |
We shouldn't try to copy bytes beyond EOF. Fix it.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
block/backup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/backup.c b/block/backup.c
index a4d37d2d62..eb41e4af4f 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -155,7 +155,7 @@ static int coroutine_fn
backup_cow_with_offload(BackupBlockJob *job,
int ret;
int nr_clusters;
BlockBackend *blk = job->common.blk;
- int nbytes = end - start;
+ int nbytes = MIN(end - start, job->len - start);
int read_flags = is_write_notifier ? BDRV_REQ_NO_SERIALISING : 0;
assert(end - start < INT_MAX);
--
2.18.0
- [Qemu-block] [PATCH 0/8] backup improvements, Vladimir Sementsov-Ogievskiy, 2019/08/07
- [Qemu-block] [PATCH 6/8] block/backup: teach backup_cow_with_bounce_buffer to copy more at once, Vladimir Sementsov-Ogievskiy, 2019/08/07
- [Qemu-block] [PATCH 2/8] block/backup: refactor write_flags, Vladimir Sementsov-Ogievskiy, 2019/08/07
- [Qemu-block] [PATCH 3/8] block/io: handle alignment and max_transfer for copy_range, Vladimir Sementsov-Ogievskiy, 2019/08/07
- [Qemu-block] [PATCH 5/8] block/backup: fix backup_cow_with_offload for last cluster,
Vladimir Sementsov-Ogievskiy <=
- [Qemu-block] [PATCH 8/8] block/backup: backup_do_cow: use bdrv_dirty_bitmap_next_dirty_area, Vladimir Sementsov-Ogievskiy, 2019/08/07
- [Qemu-block] [PATCH 7/8] block/backup: merge duplicated logic into backup_do_cow, Vladimir Sementsov-Ogievskiy, 2019/08/07
- [Qemu-block] [PATCH 1/8] block/backup: deal with zero detection, Vladimir Sementsov-Ogievskiy, 2019/08/07
- [Qemu-block] [PATCH 4/8] block/backup: improve unallocated clusters skipping, Vladimir Sementsov-Ogievskiy, 2019/08/07