From: Dietmar Maurer Date: Tue, 26 Mar 2013 05:30:24 +0000 (+0100) Subject: vma restore: tolerate a size difference up to 4M X-Git-Url: https://git.proxmox.com/?p=pve-qemu-kvm.git;a=commitdiff_plain;h=020fd8aeef6c3cb89609fec2afb490c6208bbb3a vma restore: tolerate a size difference up to 4M --- diff --git a/debian/patches/0008-vma-restore-tolerate-a-size-difference-up-to-4M.patch b/debian/patches/0008-vma-restore-tolerate-a-size-difference-up-to-4M.patch new file mode 100644 index 0000000..2e76dae --- /dev/null +++ b/debian/patches/0008-vma-restore-tolerate-a-size-difference-up-to-4M.patch @@ -0,0 +1,33 @@ +From 4ca68d0ccfd64f2fdc63ba44813bbafab8d90c81 Mon Sep 17 00:00:00 2001 +From: Dietmar Maurer +Date: Tue, 26 Mar 2013 06:21:16 +0100 +Subject: [PATCH v5 8/8] vma restore: tolerate a size difference up to 4M + + +Signed-off-by: Dietmar Maurer +--- + vma-reader.c | 8 +++++++- + 1 files changed, 7 insertions(+), 1 deletions(-) + +diff --git a/vma-reader.c b/vma-reader.c +index a740f04..69e7578 100644 +--- a/vma-reader.c ++++ b/vma-reader.c +@@ -465,7 +465,13 @@ int vma_reader_register_bs(VmaReader *vmar, guint8 dev_id, BlockDriverState *bs, + assert(vmar->rstate[dev_id].bs == NULL); + + int64_t size = bdrv_getlength(bs); +- if (size != vmar->devinfo[dev_id].size) { ++ int64_t size_diff = size - vmar->devinfo[dev_id].size; ++ ++ /* storage types can have different size restrictions, so it ++ * is not always possible to create an image with exact size. ++ * So we tolerate a size difference up to 4MB. ++ */ ++ if ((size_diff < 0) || (size_diff > 4*1024*1024)) { + error_setg(errp, "vma_reader_register_bs for stream %s failed - " + "unexpected size %zd != %zd", vmar->devinfo[dev_id].devname, + size, vmar->devinfo[dev_id].size); +-- +1.7.2.5 + diff --git a/debian/patches/series b/debian/patches/series index 01a5aff..ed1ef4a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -17,6 +17,7 @@ enable-kvm-by-default.patch 0005-add-regression-tests-for-backup.patch 0006-add-vm-state-to-backups.patch 0007-vma-add-verify-command.patch +0008-vma-restore-tolerate-a-size-difference-up-to-4M.patch # always-update-expected-downtime.patch virtio-balloon-fix-query.patch set-cpu-model-to-kvm64.patch