]> git.proxmox.com Git - pve-qemu-kvm.git/blame - debian/patches/pve/0014-vma-restore-tolerate-a-size-difference-up-to-4M.patch
bump version to 2.6.2-2
[pve-qemu-kvm.git] / debian / patches / pve / 0014-vma-restore-tolerate-a-size-difference-up-to-4M.patch
CommitLineData
6fb04df7 1From b60a9ba781fc9e4f1a8c7d177f20933340cf4fc4 Mon Sep 17 00:00:00 2001
ca0fe5f5
WB
2From: Dietmar Maurer <dietmar@proxmox.com>
3Date: Tue, 26 Mar 2013 06:21:16 +0100
6fb04df7 4Subject: [PATCH 14/55] vma restore: tolerate a size difference up to 4M
ca0fe5f5
WB
5
6Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
7---
8 vma-reader.c | 8 +++++++-
9 1 file changed, 7 insertions(+), 1 deletion(-)
10
11diff --git a/vma-reader.c b/vma-reader.c
12index 9d92c6a..d9f43fe 100644
13--- a/vma-reader.c
14+++ b/vma-reader.c
15@@ -465,7 +465,13 @@ int vma_reader_register_bs(VmaReader *vmar, guint8 dev_id, BlockDriverState *bs,
16 assert(vmar->rstate[dev_id].bs == NULL);
17
18 int64_t size = bdrv_getlength(bs);
19- if (size != vmar->devinfo[dev_id].size) {
20+ int64_t size_diff = size - vmar->devinfo[dev_id].size;
21+
22+ /* storage types can have different size restrictions, so it
23+ * is not always possible to create an image with exact size.
24+ * So we tolerate a size difference up to 4MB.
25+ */
26+ if ((size_diff < 0) || (size_diff > 4*1024*1024)) {
27 error_setg(errp, "vma_reader_register_bs for stream %s failed - "
28 "unexpected size %zd != %zd", vmar->devinfo[dev_id].devname,
29 size, vmar->devinfo[dev_id].size);
30--
312.1.4
32