diff --git a/Makefile b/Makefile index 3c0bb4c..6a43807 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # also update debian/changelog KVMVER=2.9.0 -KVMPKGREL=1~rc2+5 +KVMPKGREL=1~rc3 KVMPACKAGE = pve-qemu-kvm KVMSRC = qemu diff --git a/debian/changelog b/debian/changelog index 9e5f75b..6406753 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +pve-qemu-kvm (2.9.0-1~rc3) unstable; urgency=medium + + * update to 2.9.0-rc3 + + * merge: block: Ignore guest dev permissions during incoming migration + to fix live migration with local disks + + -- Proxmox Support Team Wed, 05 Apr 2017 11:50:46 +0200 + pve-qemu-kvm (2.9.0-1~rc2+5) unstable; urgency=medium * fix a crash caused by the zeroinit filter in drive-mirror diff --git a/debian/patches/extra/0001-block-ignore-guest-dev-permissions-during-incoming-migration.patch b/debian/patches/extra/0001-block-ignore-guest-dev-permissions-during-incoming-migration.patch new file mode 100644 index 0000000..6dac21e --- /dev/null +++ b/debian/patches/extra/0001-block-ignore-guest-dev-permissions-during-incoming-migration.patch @@ -0,0 +1,196 @@ +From qemu-devel-bounces+w.bumiller=proxmox.com@nongnu.org Wed Apr 5 08:57:05 2017 +Return-Path: +Received: from ronja.mits.lan (localhost [127.0.0.1]) by ronja (Cyrus v2.4.16-Debian-2.4.16-4.32.201410011447) with LMTPA; Tue, 04 Apr 2017 17:40:54 +0200 +X-Sieve: CMU Sieve 2.4 +Received: from proxmox.maurer-it.com (mail.proxmox.com [192.168.2.110]) by ronja.mits.lan (Postfix) with ESMTPS id 666CAF61213 for ; Tue, 4 Apr 2017 17:40:54 +0200 (CEST) +Received: from proxmox.maurer-it.com (localhost [127.0.0.1]) by proxmox.maurer-it.com (Proxmox) with ESMTP id 9655510C7994 for ; Tue, 4 Apr 2017 17:40:54 +0200 (CEST) +Received-SPF: pass (nongnu.org ... gnu.org: 208.118.235.17 is authorized to use 'qemu-devel-bounces@nongnu.org' in 'mfrom' identity (mechanism 'ip4:208.118.235.0/24' matched)) receiver=proxmox.maurer-it.com; identity=mailfrom; envelope-from="qemu-devel-bounces@nongnu.org"; helo=lists.gnu.org; client-ip=208.118.235.17 +Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by proxmox.maurer-it.com (Proxmox) with ESMTPS id DDC8A110E4A3 for ; Tue, 4 Apr 2017 17:40:51 +0200 (CEST) +Received: from localhost ([::1]:36303 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cvQZd-0001pP-Un for w.bumiller@proxmox.com; Tue, 04 Apr 2017 11:40:50 -0400 +Received: from eggs.gnu.org ([2001:4830:134:3::10]:50974) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cvQVK-0006YZ-Kd for qemu-devel@nongnu.org; Tue, 04 Apr 2017 11:36:24 -0400 +Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cvQVI-0007lq-5E for qemu-devel@nongnu.org; Tue, 04 Apr 2017 11:36:22 -0400 +Received: from mx1.redhat.com ([209.132.183.28]:39314) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cvQVC-0007bj-0p; Tue, 04 Apr 2017 11:36:14 -0400 +Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CDFA6C05678E; Tue, 4 Apr 2017 15:36:12 +0000 (UTC) +DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com CDFA6C05678E +Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com +Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=kwolf@redhat.com +DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com CDFA6C05678E +Received: from noname.str.redhat.com (dhcp-192-175.str.redhat.com [10.33.192.175]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9EEA19F34F; Tue, 4 Apr 2017 15:36:01 +0000 (UTC) +From: Kevin Wolf +To: qemu-block@nongnu.org +Date: Tue, 4 Apr 2017 17:35:56 +0200 +Message-Id: <1491320156-4629-1-git-send-email-kwolf@redhat.com> +X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 +X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Tue, 04 Apr 2017 15:36:13 +0000 (UTC) +X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] +X-Received-From: 209.132.183.28 +Subject: [Qemu-devel] [RFC PATCH for-2.9] block: Ignore guest dev permissions during incoming migration +X-BeenThere: qemu-devel@nongnu.org +X-Mailman-Version: 2.1.21 +Precedence: list +List-Id: +List-Unsubscribe: , +List-Archive: +List-Post: +List-Help: +List-Subscribe: , +Cc: kwolf@redhat.com, armband@enea.com, jcody@redhat.com, Ciprian.Barbu@enea.com, qemu-devel@nongnu.org, mreitz@redhat.com, Alexandru.Avadanii@enea.com, pbonzini@redhat.com +Errors-To: qemu-devel-bounces+w.bumiller=proxmox.com@nongnu.org +Sender: "Qemu-devel" +X-Proxmox-CTCH-Refid: str=0001.0A0C0201.58E3BE85.00B9:SCFSTAT37688011,ss=1,re=-4.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0 +x-proxmoxspam-level: Spam detection results: 0 AWL 0.002 Adjusted score from AWL reputation of From: address HEADER_FROM_DIFFERENT_DOMAINS 0.001 From and EnvelopeFrom 2nd level mail domains are different RCVD_IN_DNSWL_HI -5 Sender listed at http://www.dnswl.org/, high trust RCVD_IN_MSPIKE_H3 -0.01 Good reputation (+3) RCVD_IN_MSPIKE_WL -0.01 Mailspike good senders SPF_PASS -0.001 SPF: sender matches SPF record +X-TUID: mR1+KkAcSCza + +Usually guest devices don't like other writers to the same image, so +they use blk_set_perm() to prevent this from happening. In the migration +phase before the VM is actually running, though, they don't have a +problem with writes to the image. On the other hand, storage migration +needs to be able to write to the image in this phase, so the restrictive +blk_set_perm() call of qdev devices breaks it. + +This patch flags all BlockBackends with a qdev device as +blk->disable_perm during incoming migration, which means that the +requested permissions are stored in the BlockBackend, but not actually +applied to its root node yet. + +Once migration has finished and the VM should be resumed, the +permissions are applied. If they cannot be applied (e.g. because the NBD +server used for block migration hasn't been shut down), resuming the VM +fails. + +Signed-off-by: Kevin Wolf +--- + block/block-backend.c | 40 +++++++++++++++++++++++++++++++++++++++- + include/block/block.h | 2 ++ + migration/migration.c | 8 ++++++++ + qmp.c | 6 ++++++ + 4 files changed, 55 insertions(+), 1 deletion(-) + +diff --git a/block/block-backend.c b/block/block-backend.c +index 0b63773..f817040 100644 +--- a/block/block-backend.c ++++ b/block/block-backend.c +@@ -61,6 +61,7 @@ struct BlockBackend { + + uint64_t perm; + uint64_t shared_perm; ++ bool disable_perm; + + bool allow_write_beyond_eof; + +@@ -578,7 +579,7 @@ int blk_set_perm(BlockBackend *blk, uint64_t perm, uint64_t shared_perm, + { + int ret; + +- if (blk->root) { ++ if (blk->root && !blk->disable_perm) { + ret = bdrv_child_try_set_perm(blk->root, perm, shared_perm, errp); + if (ret < 0) { + return ret; +@@ -597,15 +598,52 @@ void blk_get_perm(BlockBackend *blk, uint64_t *perm, uint64_t *shared_perm) + *shared_perm = blk->shared_perm; + } + ++/* ++ * Notifies the user of all BlockBackends that migration has completed. qdev ++ * devices can tighten their permissions in response (specifically revoke ++ * shared write permissions that we needed for storage migration). ++ * ++ * If an error is returned, the VM cannot be allowed to be resumed. ++ */ ++void blk_resume_after_migration(Error **errp) ++{ ++ BlockBackend *blk; ++ Error *local_err = NULL; ++ ++ for (blk = blk_next(NULL); blk; blk = blk_next(blk)) { ++ if (!blk->disable_perm) { ++ continue; ++ } ++ ++ blk->disable_perm = false; ++ ++ blk_set_perm(blk, blk->perm, blk->shared_perm, &local_err); ++ if (local_err) { ++ error_propagate(errp, local_err); ++ blk->disable_perm = true; ++ return; ++ } ++ } ++} ++ + static int blk_do_attach_dev(BlockBackend *blk, void *dev) + { + if (blk->dev) { + return -EBUSY; + } ++ ++ /* While migration is still incoming, we don't need to apply the ++ * permissions of guest device BlockBackends. We might still have a block ++ * job or NBD server writing to the image for storage migration. */ ++ if (runstate_check(RUN_STATE_INMIGRATE)) { ++ blk->disable_perm = true; ++ } ++ + blk_ref(blk); + blk->dev = dev; + blk->legacy_dev = false; + blk_iostatus_reset(blk); ++ + return 0; + } + +diff --git a/include/block/block.h b/include/block/block.h +index 5149260..3e09222 100644 +--- a/include/block/block.h ++++ b/include/block/block.h +@@ -366,6 +366,8 @@ void bdrv_invalidate_cache(BlockDriverState *bs, Error **errp); + void bdrv_invalidate_cache_all(Error **errp); + int bdrv_inactivate_all(void); + ++void blk_resume_after_migration(Error **errp); ++ + /* Ensure contents are flushed to disk. */ + int bdrv_flush(BlockDriverState *bs); + int coroutine_fn bdrv_co_flush(BlockDriverState *bs); +diff --git a/migration/migration.c b/migration/migration.c +index 54060f7..ad4036f 100644 +--- a/migration/migration.c ++++ b/migration/migration.c +@@ -349,6 +349,14 @@ static void process_incoming_migration_bh(void *opaque) + exit(EXIT_FAILURE); + } + ++ /* If we get an error here, just don't restart the VM yet. */ ++ blk_resume_after_migration(&local_err); ++ if (local_err) { ++ error_free(local_err); ++ local_err = NULL; ++ autostart = false; ++ } ++ + /* + * This must happen after all error conditions are dealt with and + * we're sure the VM is going to be running on this host. +diff --git a/qmp.c b/qmp.c +index fa82b59..a744e44 100644 +--- a/qmp.c ++++ b/qmp.c +@@ -207,6 +207,12 @@ void qmp_cont(Error **errp) + } + } + ++ blk_resume_after_migration(&local_err); ++ if (local_err) { ++ error_propagate(errp, local_err); ++ return; ++ } ++ + if (runstate_check(RUN_STATE_INMIGRATE)) { + autostart = 1; + } else { +-- +1.8.3.1 + + + diff --git a/debian/patches/pve/0001-fr-ca-keymap-corrections.patch b/debian/patches/pve/0001-fr-ca-keymap-corrections.patch index dc72688..7bf8afd 100644 --- a/debian/patches/pve/0001-fr-ca-keymap-corrections.patch +++ b/debian/patches/pve/0001-fr-ca-keymap-corrections.patch @@ -1,14 +1,14 @@ -From 45b6688a45611bb5818e1b6aa7313c91797aa003 Mon Sep 17 00:00:00 2001 +From 31ccb49bbea094f80dfbcbc664dfcf2b8060231d Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:15:49 +0100 -Subject: [PATCH 01/48] fr-ca keymap corrections +Subject: [PATCH 01/49] fr-ca keymap corrections --- pc-bios/keymaps/fr-ca | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pc-bios/keymaps/fr-ca b/pc-bios/keymaps/fr-ca -index b645208..9291240 100644 +index b645208e42..92912409e1 100644 --- a/pc-bios/keymaps/fr-ca +++ b/pc-bios/keymaps/fr-ca @@ -14,22 +14,31 @@ bar 0x29 shift @@ -44,5 +44,5 @@ index b645208..9291240 100644 dead_grave 0x28 dead_circumflex 0x1a -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0002-Adjust-network-script-path-to-etc-kvm.patch b/debian/patches/pve/0002-Adjust-network-script-path-to-etc-kvm.patch index b9e79c3..fbb22f6 100644 --- a/debian/patches/pve/0002-Adjust-network-script-path-to-etc-kvm.patch +++ b/debian/patches/pve/0002-Adjust-network-script-path-to-etc-kvm.patch @@ -1,14 +1,14 @@ -From 392fb50a1c43b47acffb1073a458703da93dfdd8 Mon Sep 17 00:00:00 2001 +From 7e59abba53119cd5b842b8be922a18c8dc73d1cc Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:16:49 +0100 -Subject: [PATCH 02/48] Adjust network script path to /etc/kvm/ +Subject: [PATCH 02/49] Adjust network script path to /etc/kvm/ --- include/net/net.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/net/net.h b/include/net/net.h -index 99b28d5..40c39f0 100644 +index 99b28d5b38..40c39f00e6 100644 --- a/include/net/net.h +++ b/include/net/net.h @@ -214,8 +214,9 @@ void qmp_netdev_add(QDict *qdict, QObject **ret, Error **errp); @@ -24,5 +24,5 @@ index 99b28d5..40c39f0 100644 #define DEFAULT_BRIDGE_INTERFACE "br0" -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0003-vnc-altgr-emulation.patch b/debian/patches/pve/0003-vnc-altgr-emulation.patch index d43ad39..adce954 100644 --- a/debian/patches/pve/0003-vnc-altgr-emulation.patch +++ b/debian/patches/pve/0003-vnc-altgr-emulation.patch @@ -1,17 +1,17 @@ -From f3e33fe70da6f9361bd940d2b029d293a71408ca Mon Sep 17 00:00:00 2001 +From 0e487cf7a98f230b99f8ffa349e22be23478aa5c Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:17:38 +0100 -Subject: [PATCH 03/48] vnc: altgr emulation +Subject: [PATCH 03/49] vnc: altgr emulation --- ui/vnc.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/ui/vnc.c b/ui/vnc.c -index 821acdd..29575f8 100644 +index 349cfc9d86..9c8ab42eea 100644 --- a/ui/vnc.c +++ b/ui/vnc.c -@@ -1625,6 +1625,10 @@ static void kbd_leds(void *opaque, int ledstate) +@@ -1631,6 +1631,10 @@ static void kbd_leds(void *opaque, int ledstate) static void do_key_event(VncState *vs, int down, int keycode, int sym) { @@ -22,7 +22,7 @@ index 821acdd..29575f8 100644 /* QEMU console switch */ switch(keycode) { case 0x2a: /* Left Shift */ -@@ -1705,8 +1709,27 @@ static void do_key_event(VncState *vs, int down, int keycode, int sym) +@@ -1711,8 +1715,27 @@ static void do_key_event(VncState *vs, int down, int keycode, int sym) } if (qemu_console_is_graphic(NULL)) { @@ -50,7 +50,7 @@ index 821acdd..29575f8 100644 } else { bool numlock = vs->modifiers_state[0x45]; bool control = (vs->modifiers_state[0x1d] || -@@ -1846,7 +1869,8 @@ static void key_event(VncState *vs, int down, uint32_t sym) +@@ -1852,7 +1875,8 @@ static void key_event(VncState *vs, int down, uint32_t sym) lsym = lsym - 'A' + 'a'; } @@ -61,5 +61,5 @@ index 821acdd..29575f8 100644 do_key_event(vs, down, keycode, sym); } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0004-qemu-img-return-success-on-info-without-snapshots.patch b/debian/patches/pve/0004-qemu-img-return-success-on-info-without-snapshots.patch index 77e2dce..584a4a5 100644 --- a/debian/patches/pve/0004-qemu-img-return-success-on-info-without-snapshots.patch +++ b/debian/patches/pve/0004-qemu-img-return-success-on-info-without-snapshots.patch @@ -1,14 +1,14 @@ -From adea2808e62d32a9b22bbe3d16c84c92289983a8 Mon Sep 17 00:00:00 2001 +From 0cc4bc86d6a81121a53b1dc691e62c3d47d0aa88 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:18:46 +0100 -Subject: [PATCH 04/48] qemu-img: return success on info without snapshots +Subject: [PATCH 04/49] qemu-img: return success on info without snapshots --- qemu-img.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qemu-img.c b/qemu-img.c -index b220cf7..4f7f458 100644 +index b220cf71d7..4f7f458dd2 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -2596,7 +2596,8 @@ static int img_info(int argc, char **argv) @@ -22,5 +22,5 @@ index b220cf7..4f7f458 100644 switch (output_format) { -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0005-use-kvm-by-default.patch b/debian/patches/pve/0005-use-kvm-by-default.patch index 0508587..2dc547a 100644 --- a/debian/patches/pve/0005-use-kvm-by-default.patch +++ b/debian/patches/pve/0005-use-kvm-by-default.patch @@ -1,14 +1,14 @@ -From bd3aa97864804b5b37421f199b9fe64e3b16b52c Mon Sep 17 00:00:00 2001 +From 72c5264d057a0605448bc9e1b20ee2f94022e7fc Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:27:05 +0100 -Subject: [PATCH 05/48] use kvm by default +Subject: [PATCH 05/49] use kvm by default --- accel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/accel.c b/accel.c -index 664bb88..ddb23a3 100644 +index 664bb88422..ddb23a3f1d 100644 --- a/accel.c +++ b/accel.c @@ -87,8 +87,8 @@ void configure_accelerator(MachineState *ms) @@ -23,5 +23,5 @@ index 664bb88..ddb23a3 100644 while (!accel_initialised && *p != '\0') { -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0006-virtio-balloon-fix-query.patch b/debian/patches/pve/0006-virtio-balloon-fix-query.patch index 8a430b4..4348e44 100644 --- a/debian/patches/pve/0006-virtio-balloon-fix-query.patch +++ b/debian/patches/pve/0006-virtio-balloon-fix-query.patch @@ -1,7 +1,7 @@ -From 5921bc0360f6964a5bb5355c2707c806425f4734 Mon Sep 17 00:00:00 2001 +From 7f13e74387d932b773fd6bcd33c1a5be99a3d89c Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:27:49 +0100 -Subject: [PATCH 06/48] virtio-balloon: fix query +Subject: [PATCH 06/49] virtio-balloon: fix query Actually provide memory information via the query-balloon command. @@ -12,7 +12,7 @@ command. 3 files changed, 81 insertions(+), 5 deletions(-) diff --git a/hmp.c b/hmp.c -index edb8970..904542d 100644 +index edb8970461..904542d026 100644 --- a/hmp.c +++ b/hmp.c @@ -723,7 +723,35 @@ void hmp_info_balloon(Monitor *mon, const QDict *qdict) @@ -53,7 +53,7 @@ index edb8970..904542d 100644 qapi_free_BalloonInfo(info); } diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c -index a705e0e..158e13e 100644 +index a705e0ec55..158e13e795 100644 --- a/hw/virtio/virtio-balloon.c +++ b/hw/virtio/virtio-balloon.c @@ -379,8 +379,37 @@ static uint64_t virtio_balloon_get_features(VirtIODevice *vdev, uint64_t f, @@ -97,7 +97,7 @@ index a705e0e..158e13e 100644 static void virtio_balloon_to_target(void *opaque, ram_addr_t target) diff --git a/qapi-schema.json b/qapi-schema.json -index b921994..e7a8117 100644 +index 250e4dc49b..f38b85bf6a 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -1900,10 +1900,29 @@ @@ -133,5 +133,5 @@ index b921994..e7a8117 100644 ## # @query-balloon: -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0007-set-the-CPU-model-to-kvm64-32-instead-of-qemu64-32.patch b/debian/patches/pve/0007-set-the-CPU-model-to-kvm64-32-instead-of-qemu64-32.patch index 8bc87ce..1994509 100644 --- a/debian/patches/pve/0007-set-the-CPU-model-to-kvm64-32-instead-of-qemu64-32.patch +++ b/debian/patches/pve/0007-set-the-CPU-model-to-kvm64-32-instead-of-qemu64-32.patch @@ -1,14 +1,14 @@ -From bc04d6e5e09d517a9c8833fd407a655be3cf21fe Mon Sep 17 00:00:00 2001 +From 4e5f2bdc825f1201c8b701d5c20939f9743db0ea Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:30:21 +0100 -Subject: [PATCH 07/48] set the CPU model to kvm64/32 instead of qemu64/32 +Subject: [PATCH 07/49] set the CPU model to kvm64/32 instead of qemu64/32 --- hw/i386/pc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c -index d24388e..81e91a4 100644 +index d24388e05f..81e91a4897 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1151,9 +1151,9 @@ void pc_cpus_init(PCMachineState *pcms) @@ -24,5 +24,5 @@ index d24388e..81e91a4 100644 } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0008-qapi-modify-query-machines.patch b/debian/patches/pve/0008-qapi-modify-query-machines.patch index f244794..d88f904 100644 --- a/debian/patches/pve/0008-qapi-modify-query-machines.patch +++ b/debian/patches/pve/0008-qapi-modify-query-machines.patch @@ -1,7 +1,7 @@ -From e453e9a98f7f0c2a213fe5bee04ece37ce10e625 Mon Sep 17 00:00:00 2001 +From c9a0fe8f730979dccf506fd3563896b84ec54299 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:31:18 +0100 -Subject: [PATCH 08/48] qapi: modify query machines +Subject: [PATCH 08/49] qapi: modify query machines provide '*is-current' in MachineInfo struct --- @@ -10,10 +10,10 @@ provide '*is-current' in MachineInfo struct 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/qapi-schema.json b/qapi-schema.json -index e7a8117..2c40928 100644 +index f38b85bf6a..51e150c6c1 100644 --- a/qapi-schema.json +++ b/qapi-schema.json -@@ -4245,6 +4245,8 @@ +@@ -4242,6 +4242,8 @@ # # @is-default: whether the machine is default # @@ -22,7 +22,7 @@ index e7a8117..2c40928 100644 # @cpu-max: maximum number of CPUs supported by the machine type # (since 1.5.0) # -@@ -4254,7 +4256,7 @@ +@@ -4251,7 +4253,7 @@ ## { 'struct': 'MachineInfo', 'data': { 'name': 'str', '*alias': 'str', @@ -32,7 +32,7 @@ index e7a8117..2c40928 100644 ## diff --git a/vl.c b/vl.c -index 0b4ed52..868c489 100644 +index 0b4ed5241c..868c4893df 100644 --- a/vl.c +++ b/vl.c @@ -1518,6 +1518,11 @@ MachineInfoList *qmp_query_machines(Error **errp) @@ -48,5 +48,5 @@ index 0b4ed52..868c489 100644 entry->value = info; entry->next = mach_list; -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0009-qapi-modify-spice-query.patch b/debian/patches/pve/0009-qapi-modify-spice-query.patch index 50e3306..017a6d9 100644 --- a/debian/patches/pve/0009-qapi-modify-spice-query.patch +++ b/debian/patches/pve/0009-qapi-modify-spice-query.patch @@ -1,7 +1,7 @@ -From c51f39a5741210b7df2ac212a8ced14ef950d415 Mon Sep 17 00:00:00 2001 +From 275d91b95acd8518560087dbdc641df5679519e2 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:32:11 +0100 -Subject: [PATCH 09/48] qapi: modify spice query +Subject: [PATCH 09/49] qapi: modify spice query Provide the last ticket in the SpiceInfo struct optionally. --- @@ -10,7 +10,7 @@ Provide the last ticket in the SpiceInfo struct optionally. 2 files changed, 8 insertions(+) diff --git a/qapi-schema.json b/qapi-schema.json -index 2c40928..ca534cc 100644 +index 51e150c6c1..1b14ff2476 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -1841,11 +1841,14 @@ @@ -29,7 +29,7 @@ index 2c40928..ca534cc 100644 ## diff --git a/ui/spice-core.c b/ui/spice-core.c -index 804abc5..4a41731 100644 +index 804abc5c0f..4a417310d3 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -552,6 +552,11 @@ SpiceInfo *qmp_query_spice(Error **errp) @@ -45,5 +45,5 @@ index 804abc5..4a41731 100644 info->has_port = true; info->port = port; -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0010-ui-spice-default-to-pve-certs-unless-otherwise-speci.patch b/debian/patches/pve/0010-ui-spice-default-to-pve-certs-unless-otherwise-speci.patch index 1be891a..3b20d72 100644 --- a/debian/patches/pve/0010-ui-spice-default-to-pve-certs-unless-otherwise-speci.patch +++ b/debian/patches/pve/0010-ui-spice-default-to-pve-certs-unless-otherwise-speci.patch @@ -1,7 +1,7 @@ -From 1434b9fad738e852f789cd8b951f2f4e1e08d3e5 Mon Sep 17 00:00:00 2001 +From eabdbcd58c6e21cc19a6edbd7122b660d3f0263b Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:33:34 +0100 -Subject: [PATCH 10/48] ui/spice: default to pve certs unless otherwise +Subject: [PATCH 10/49] ui/spice: default to pve certs unless otherwise specified --- @@ -9,7 +9,7 @@ Subject: [PATCH 10/48] ui/spice: default to pve certs unless otherwise 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ui/spice-core.c b/ui/spice-core.c -index 4a41731..af1dc8c 100644 +index 4a417310d3..af1dc8c653 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -685,32 +685,35 @@ void qemu_spice_init(void) @@ -55,5 +55,5 @@ index 4a41731..af1dc8c 100644 x509_key_password = qemu_opt_get(opts, "x509-key-password"); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0011-introduce-new-vma-archive-format.patch b/debian/patches/pve/0011-introduce-new-vma-archive-format.patch index 124889b..ced14a9 100644 --- a/debian/patches/pve/0011-introduce-new-vma-archive-format.patch +++ b/debian/patches/pve/0011-introduce-new-vma-archive-format.patch @@ -1,7 +1,7 @@ -From c1338b34ccac2c5e6d7d1aca3ca3e3457a3f744c Mon Sep 17 00:00:00 2001 +From 5a684e9eb57192f1b772a6d7dae67857d72fae41 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Tue, 13 Nov 2012 11:11:38 +0100 -Subject: [PATCH 11/48] introduce new vma archive format +Subject: [PATCH 11/49] introduce new vma archive format This is a very simple archive format, see docs/specs/vma_spec.txt @@ -20,7 +20,7 @@ Signed-off-by: Dietmar Maurer create mode 100644 vma.h diff --git a/Makefile b/Makefile -index 6c359b2..edbc8b5 100644 +index 6c359b2f86..edbc8b50f0 100644 --- a/Makefile +++ b/Makefile @@ -284,7 +284,7 @@ ifneq ($(wildcard config-host.mak),) @@ -41,7 +41,7 @@ index 6c359b2..edbc8b5 100644 qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o $(COMMON_LDADDS) diff --git a/Makefile.objs b/Makefile.objs -index 6167e7b..9b12ee6 100644 +index 6167e7b17d..9b12ee6afa 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -14,6 +14,7 @@ block-obj-y += block.o blockjob.o @@ -54,7 +54,7 @@ index 6167e7b..9b12ee6 100644 diff --git a/vma-reader.c b/vma-reader.c new file mode 100644 -index 0000000..51dd8fe +index 0000000000..51dd8fee0e --- /dev/null +++ b/vma-reader.c @@ -0,0 +1,797 @@ @@ -857,7 +857,7 @@ index 0000000..51dd8fe + diff --git a/vma-writer.c b/vma-writer.c new file mode 100644 -index 0000000..b0cf529 +index 0000000000..b0cf529125 --- /dev/null +++ b/vma-writer.c @@ -0,0 +1,870 @@ @@ -1733,7 +1733,7 @@ index 0000000..b0cf529 +} diff --git a/vma.c b/vma.c new file mode 100644 -index 0000000..8732bfa +index 0000000000..8732bfa85e --- /dev/null +++ b/vma.c @@ -0,0 +1,586 @@ @@ -2325,7 +2325,7 @@ index 0000000..8732bfa +} diff --git a/vma.h b/vma.h new file mode 100644 -index 0000000..6625eb9 +index 0000000000..6625eb95c6 --- /dev/null +++ b/vma.h @@ -0,0 +1,146 @@ @@ -2476,5 +2476,5 @@ index 0000000..6625eb9 + +#endif /* BACKUP_VMA_H */ -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0012-vma-add-verify-command.patch b/debian/patches/pve/0012-vma-add-verify-command.patch index 46234ea..24d5cf7 100644 --- a/debian/patches/pve/0012-vma-add-verify-command.patch +++ b/debian/patches/pve/0012-vma-add-verify-command.patch @@ -1,7 +1,7 @@ -From f6a9d9269a4f07eb7b2161884dde52a65f58c9f6 Mon Sep 17 00:00:00 2001 +From 93dc98fc5744c6f61ba74d0196d525190eee997b Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Mon, 11 Mar 2013 07:07:46 +0100 -Subject: [PATCH 12/48] vma: add verify command +Subject: [PATCH 12/49] vma: add verify command Users wants to verify the archive after backup. @@ -19,7 +19,7 @@ Signed-off-by: Dietmar Maurer 3 files changed, 147 insertions(+), 30 deletions(-) diff --git a/vma-reader.c b/vma-reader.c -index 51dd8fe..2aafb26 100644 +index 51dd8fee0e..2aafb26b2a 100644 --- a/vma-reader.c +++ b/vma-reader.c @@ -45,6 +45,8 @@ struct VmaReader { @@ -226,7 +226,7 @@ index 51dd8fe..2aafb26 100644 +} + diff --git a/vma.c b/vma.c -index 8732bfa..ab7b766 100644 +index 8732bfa85e..ab7b766014 100644 --- a/vma.c +++ b/vma.c @@ -29,6 +29,7 @@ static void help(void) @@ -306,7 +306,7 @@ index 8732bfa..ab7b766 100644 help(); diff --git a/vma.h b/vma.h -index 6625eb9..9bb6ea4 100644 +index 6625eb95c6..9bb6ea4f69 100644 --- a/vma.h +++ b/vma.h @@ -142,5 +142,6 @@ int vma_reader_register_bs(VmaReader *vmar, guint8 dev_id, @@ -317,5 +317,5 @@ index 6625eb9..9bb6ea4 100644 #endif /* BACKUP_VMA_H */ -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0013-vma-add-config-command-to-dump-the-config.patch b/debian/patches/pve/0013-vma-add-config-command-to-dump-the-config.patch index 06334f0..ee2100a 100644 --- a/debian/patches/pve/0013-vma-add-config-command-to-dump-the-config.patch +++ b/debian/patches/pve/0013-vma-add-config-command-to-dump-the-config.patch @@ -1,14 +1,14 @@ -From cfc9d20b832a3db40b4e61fa6af0fbcda911ec2e Mon Sep 17 00:00:00 2001 +From abbfe2dd5318356fd422ec84c3088a94ea528943 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 14:46:49 +0100 -Subject: [PATCH 13/48] vma: add 'config' command to dump the config +Subject: [PATCH 13/49] vma: add 'config' command to dump the config --- vma.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/vma.c b/vma.c -index ab7b766..8925407 100644 +index ab7b766014..89254070c4 100644 --- a/vma.c +++ b/vma.c @@ -27,6 +27,7 @@ static void help(void) @@ -97,5 +97,5 @@ index ab7b766..8925407 100644 help(); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0014-backup-modify-job-api.patch b/debian/patches/pve/0014-backup-modify-job-api.patch index 4ec816b..c64cc27 100644 --- a/debian/patches/pve/0014-backup-modify-job-api.patch +++ b/debian/patches/pve/0014-backup-modify-job-api.patch @@ -1,7 +1,7 @@ -From c46139b295f9edffd43a12e7f029fce4f9b2ea46 Mon Sep 17 00:00:00 2001 +From 4291b03feee4f973686d67dc6e45ecd1ff374379 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 15:04:57 +0100 -Subject: [PATCH 14/48] backup: modify job api +Subject: [PATCH 14/49] backup: modify job api Introduces a BackupDump function callback and a pause_count for backup_start. For a dump-backup the target parameter @@ -14,7 +14,7 @@ can now be NULL so access to target needs to be guarded now. 4 files changed, 83 insertions(+), 47 deletions(-) diff --git a/block/backup.c b/block/backup.c -index a4fb288..fe4ce7f 100644 +index a4fb2884f9..fe4ce7f504 100644 --- a/block/backup.c +++ b/block/backup.c @@ -36,6 +36,7 @@ typedef struct BackupBlockJob { @@ -228,7 +228,7 @@ index a4fb288..fe4ce7f 100644 block_job_txn_add_job(txn, &job->common); diff --git a/block/replication.c b/block/replication.c -index bf3c395..60c6524 100644 +index bf3c395eb4..60c6524417 100644 --- a/block/replication.c +++ b/block/replication.c @@ -531,7 +531,8 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode, @@ -242,7 +242,7 @@ index bf3c395..60c6524 100644 error_propagate(errp, local_err); backup_job_cleanup(bs); diff --git a/blockdev.c b/blockdev.c -index 040c152..bb3fc5b 100644 +index 040c152512..bb3fc5bd43 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3273,7 +3273,7 @@ static BlockJob *do_drive_backup(DriveBackup *backup, BlockJobTxn *txn, @@ -264,7 +264,7 @@ index 040c152..bb3fc5b 100644 error_propagate(errp, local_err); } diff --git a/include/block/block_int.h b/include/block/block_int.h -index 59400bd..ec65581 100644 +index 59400bd848..ec655815ca 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -59,6 +59,9 @@ @@ -288,5 +288,5 @@ index 59400bd..ec65581 100644 void hmp_drive_add_node(Monitor *mon, const char *optstr); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0015-backup-add-pve-monitor-commands.patch b/debian/patches/pve/0015-backup-add-pve-monitor-commands.patch index 7c00193..48bc4aa 100644 --- a/debian/patches/pve/0015-backup-add-pve-monitor-commands.patch +++ b/debian/patches/pve/0015-backup-add-pve-monitor-commands.patch @@ -1,7 +1,7 @@ -From d48092bb9901112b3356aa8d461c45ffb4ec2b9a Mon Sep 17 00:00:00 2001 +From 678834d6358b6d784f7ae7b6df3476c4befa2073 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 15:20:56 +0100 -Subject: [PATCH 15/48] backup: add pve monitor commands +Subject: [PATCH 15/49] backup: add pve monitor commands --- blockdev.c | 465 ++++++++++++++++++++++++++++++++++++++++++++++ @@ -15,7 +15,7 @@ Subject: [PATCH 15/48] backup: add pve monitor commands 8 files changed, 668 insertions(+), 6 deletions(-) diff --git a/blockdev.c b/blockdev.c -index bb3fc5b..3e5c9ce 100644 +index bb3fc5bd43..3e5c9ce593 100644 --- a/blockdev.c +++ b/blockdev.c @@ -35,6 +35,7 @@ @@ -505,7 +505,7 @@ index bb3fc5b..3e5c9ce 100644 bool has_base, const char *base, bool has_base_node, const char *base_node, diff --git a/blockjob.c b/blockjob.c -index 9b619f385..54bd34a 100644 +index 9b619f385a..54bd34a7db 100644 --- a/blockjob.c +++ b/blockjob.c @@ -37,8 +37,8 @@ @@ -548,7 +548,7 @@ index 9b619f385..54bd34a 100644 if (block_job_is_internal(job)) { return; diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx -index a53f105..1a18380 100644 +index a53f105c52..1a1838099f 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -487,6 +487,19 @@ STEXI @@ -572,7 +572,7 @@ index a53f105..1a18380 100644 { .name = "usernet", diff --git a/hmp-commands.hx b/hmp-commands.hx -index 8819281..aea39d0 100644 +index 88192817b2..aea39d0f45 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -87,6 +87,35 @@ STEXI @@ -612,7 +612,7 @@ index 8819281..aea39d0 100644 .name = "block_job_set_speed", .args_type = "device:B,speed:o", diff --git a/hmp.c b/hmp.c -index 904542d..c685ba5 100644 +index 904542d026..c685ba507f 100644 --- a/hmp.c +++ b/hmp.c @@ -151,6 +151,44 @@ void hmp_info_mice(Monitor *mon, const QDict *qdict) @@ -691,7 +691,7 @@ index 904542d..c685ba5 100644 { Error *error = NULL; diff --git a/hmp.h b/hmp.h -index 799fd37..17a65b2 100644 +index 799fd371fa..17a65b2313 100644 --- a/hmp.h +++ b/hmp.h @@ -30,6 +30,7 @@ void hmp_info_migrate(Monitor *mon, const QDict *qdict); @@ -712,7 +712,7 @@ index 799fd37..17a65b2 100644 void hmp_block_job_cancel(Monitor *mon, const QDict *qdict); void hmp_block_job_pause(Monitor *mon, const QDict *qdict); diff --git a/include/block/block_int.h b/include/block/block_int.h -index ec65581..278da16 100644 +index ec655815ca..278da161fb 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -59,7 +59,7 @@ @@ -725,7 +725,7 @@ index ec65581..278da16 100644 enum BdrvTrackedRequestType { diff --git a/qapi-schema.json b/qapi-schema.json -index ca534cc..059cbfc 100644 +index 1b14ff2476..12d4d20705 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -570,6 +570,96 @@ @@ -826,5 +826,5 @@ index ca534cc..059cbfc 100644 # # Detailed migration status. -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0016-backup-vma-add-dir-format.patch b/debian/patches/pve/0016-backup-vma-add-dir-format.patch index 3d36d5f..0f3cbc8 100644 --- a/debian/patches/pve/0016-backup-vma-add-dir-format.patch +++ b/debian/patches/pve/0016-backup-vma-add-dir-format.patch @@ -1,7 +1,7 @@ -From 99a526d92531d64ff0c31a83d0d55f38651a32a5 Mon Sep 17 00:00:00 2001 +From 670436d594b195b66d707c7554ca18ce46ecbca7 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 15:21:54 +0100 -Subject: [PATCH 16/48] backup: vma: add dir format +Subject: [PATCH 16/49] backup: vma: add dir format --- blockdev.c | 137 ++++++++++++++++++++++++++++++++++++++++--------------- @@ -12,7 +12,7 @@ Subject: [PATCH 16/48] backup: vma: add dir format 5 files changed, 111 insertions(+), 42 deletions(-) diff --git a/blockdev.c b/blockdev.c -index 3e5c9ce..af1b9d4 100644 +index 3e5c9ce593..af1b9d4817 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3007,6 +3007,8 @@ typedef struct PVEBackupDevInfo { @@ -247,7 +247,7 @@ index 3e5c9ce..af1b9d4 100644 } diff --git a/hmp-commands.hx b/hmp-commands.hx -index aea39d0..7288203 100644 +index aea39d0f45..72882039ee 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -89,9 +89,11 @@ ETEXI @@ -266,7 +266,7 @@ index aea39d0..7288203 100644 }, diff --git a/hmp.c b/hmp.c -index c685ba5..465d7fa 100644 +index c685ba507f..465d7faad0 100644 --- a/hmp.c +++ b/hmp.c @@ -1664,11 +1664,13 @@ void hmp_backup(Monitor *mon, const QDict *qdict) @@ -285,7 +285,7 @@ index c685ba5..465d7fa 100644 hmp_handle_error(mon, &error); diff --git a/qapi-schema.json b/qapi-schema.json -index 059cbfc..1127f2c 100644 +index 12d4d20705..edb7c32ac9 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -609,7 +609,7 @@ @@ -298,7 +298,7 @@ index 059cbfc..1127f2c 100644 ## # @backup: diff --git a/vma.c b/vma.c -index 8925407..1ffaced 100644 +index 89254070c4..1ffaced897 100644 --- a/vma.c +++ b/vma.c @@ -264,7 +264,7 @@ static int extract_content(int argc, char **argv) @@ -311,5 +311,5 @@ index 8925407..1ffaced 100644 if (readmap) { -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0017-backup-do-not-return-errors-in-dump-callback.patch b/debian/patches/pve/0017-backup-do-not-return-errors-in-dump-callback.patch index 031d605..6e64691 100644 --- a/debian/patches/pve/0017-backup-do-not-return-errors-in-dump-callback.patch +++ b/debian/patches/pve/0017-backup-do-not-return-errors-in-dump-callback.patch @@ -1,14 +1,14 @@ -From f859377de12e2faa46046b266ce4418c138e61ab Mon Sep 17 00:00:00 2001 +From d28171e9e64cad9bb04dd68ef694126caab53154 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 15:22:19 +0100 -Subject: [PATCH 17/48] backup: do not return errors in dump callback +Subject: [PATCH 17/49] backup: do not return errors in dump callback --- blockdev.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/blockdev.c b/blockdev.c -index af1b9d4..4b073d4 100644 +index af1b9d4817..4b073d4d9f 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3019,6 +3019,11 @@ static int pvebackup_dump_cb(void *opaque, BlockBackend *target, @@ -73,5 +73,5 @@ index af1b9d4..4b073d4 100644 } } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0018-backup-vma-correctly-propagate-error.patch b/debian/patches/pve/0018-backup-vma-correctly-propagate-error.patch index 437cbfa..c5bc4fc 100644 --- a/debian/patches/pve/0018-backup-vma-correctly-propagate-error.patch +++ b/debian/patches/pve/0018-backup-vma-correctly-propagate-error.patch @@ -1,7 +1,7 @@ -From 17b2fc7ed399325558b891e13e104214568fd154 Mon Sep 17 00:00:00 2001 +From 0dad6b49846e109e3acdb1fa7e69081af20e5bcd Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 15:39:36 +0100 -Subject: [PATCH 18/48] backup: vma: correctly propagate error +Subject: [PATCH 18/49] backup: vma: correctly propagate error --- blockdev.c | 2 +- @@ -10,7 +10,7 @@ Subject: [PATCH 18/48] backup: vma: correctly propagate error 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/blockdev.c b/blockdev.c -index 4b073d4..6253ef1 100644 +index 4b073d4d9f..6253ef1c5e 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3043,7 +3043,7 @@ static int pvebackup_dump_cb(void *opaque, BlockBackend *target, @@ -23,7 +23,7 @@ index 4b073d4..6253ef1 100644 if (di->bs && di->bs->job) { block_job_cancel(di->bs->job); diff --git a/vma-writer.c b/vma-writer.c -index b0cf529..689e988 100644 +index b0cf529125..689e988423 100644 --- a/vma-writer.c +++ b/vma-writer.c @@ -792,6 +792,13 @@ vma_writer_write(VmaWriter *vmaw, uint8_t dev_id, int64_t cluster_num, @@ -41,7 +41,7 @@ index b0cf529..689e988 100644 { g_assert(vmaw != NULL); diff --git a/vma.h b/vma.h -index 9bb6ea4..98377e4 100644 +index 9bb6ea4f69..98377e473e 100644 --- a/vma.h +++ b/vma.h @@ -116,6 +116,7 @@ typedef struct VmaDeviceInfo { @@ -53,5 +53,5 @@ index 9bb6ea4..98377e4 100644 int vma_writer_add_config(VmaWriter *vmaw, const char *name, gpointer data, size_t len); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0019-backup-vma-remove-async-queue.patch b/debian/patches/pve/0019-backup-vma-remove-async-queue.patch index c691e9e..38f8bfc 100644 --- a/debian/patches/pve/0019-backup-vma-remove-async-queue.patch +++ b/debian/patches/pve/0019-backup-vma-remove-async-queue.patch @@ -1,7 +1,7 @@ -From bf0b444a62df49c016eb47f0299e5656d830234e Mon Sep 17 00:00:00 2001 +From 89c76cee2e39bd1e1a7b560b0a3eb5e83fa2bae8 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 15:40:00 +0100 -Subject: [PATCH 19/48] backup: vma: remove async queue +Subject: [PATCH 19/49] backup: vma: remove async queue --- blockdev.c | 6 ++ @@ -9,7 +9,7 @@ Subject: [PATCH 19/48] backup: vma: remove async queue 2 files changed, 38 insertions(+), 147 deletions(-) diff --git a/blockdev.c b/blockdev.c -index 6253ef1..ef159b0 100644 +index 6253ef1c5e..ef159b0753 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3122,6 +3122,11 @@ static void pvebackup_cancel(void *opaque) @@ -33,7 +33,7 @@ index 6253ef1..ef159b0 100644 } } diff --git a/vma-writer.c b/vma-writer.c -index 689e988..ec8da53 100644 +index 689e988423..ec8da5378d 100644 --- a/vma-writer.c +++ b/vma-writer.c @@ -28,14 +28,8 @@ @@ -313,5 +313,5 @@ index 689e988..ec8da53 100644 g_free(vmaw); } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0020-backup-vma-run-flush-inside-coroutine.patch b/debian/patches/pve/0020-backup-vma-run-flush-inside-coroutine.patch index d00f07b..285b49b 100644 --- a/debian/patches/pve/0020-backup-vma-run-flush-inside-coroutine.patch +++ b/debian/patches/pve/0020-backup-vma-run-flush-inside-coroutine.patch @@ -1,7 +1,7 @@ -From c0b66c21bb4d4cc1f02d4259d62dd8d6d413fd7f Mon Sep 17 00:00:00 2001 +From 25bc684248f21b1b947812b06777707537100a97 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 15:40:42 +0100 -Subject: [PATCH 20/48] backup: vma: run flush inside coroutine +Subject: [PATCH 20/49] backup: vma: run flush inside coroutine --- blockdev.c | 10 +++++++++- @@ -9,7 +9,7 @@ Subject: [PATCH 20/48] backup: vma: run flush inside coroutine 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/blockdev.c b/blockdev.c -index ef159b0..a9a900e 100644 +index ef159b0753..a9a900e6c8 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3087,6 +3087,13 @@ static void pvebackup_cleanup(void) @@ -37,7 +37,7 @@ index ef159b0..a9a900e 100644 block_job_cb(bs, ret); diff --git a/vma-writer.c b/vma-writer.c -index ec8da53..216577a 100644 +index ec8da5378d..216577a4f7 100644 --- a/vma-writer.c +++ b/vma-writer.c @@ -700,6 +700,10 @@ int vma_writer_close(VmaWriter *vmaw, Error **errp) @@ -52,5 +52,5 @@ index ec8da53..216577a 100644 if (vmaw->cmd) { -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0021-backup-do-not-use-bdrv_drain_all.patch b/debian/patches/pve/0021-backup-do-not-use-bdrv_drain_all.patch index 58c7c59..a5f4250 100644 --- a/debian/patches/pve/0021-backup-do-not-use-bdrv_drain_all.patch +++ b/debian/patches/pve/0021-backup-do-not-use-bdrv_drain_all.patch @@ -1,14 +1,14 @@ -From 4de872af5f176bbcc0d2f19b9fd30a7cefbddd9a Mon Sep 17 00:00:00 2001 +From 3e22faf5b9a0572e2a91644306bdcd5f93a0af58 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 15:41:13 +0100 -Subject: [PATCH 21/48] backup: do not use bdrv_drain_all +Subject: [PATCH 21/49] backup: do not use bdrv_drain_all --- blockdev.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/blockdev.c b/blockdev.c -index a9a900e..36b4083 100644 +index a9a900e6c8..36b4083ae9 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3135,9 +3135,6 @@ static void pvebackup_cancel(void *opaque) @@ -32,5 +32,5 @@ index a9a900e..36b4083 100644 } } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0022-internal-snapshot-async.patch b/debian/patches/pve/0022-internal-snapshot-async.patch index f20e24e..189d071 100644 --- a/debian/patches/pve/0022-internal-snapshot-async.patch +++ b/debian/patches/pve/0022-internal-snapshot-async.patch @@ -1,7 +1,7 @@ -From ab6904d8e0f3a976ade19e8b5f99270738ed6518 Mon Sep 17 00:00:00 2001 +From dbd7eef96fe140c5ce332cee8173fe5b6ac44676 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 16:04:32 +0100 -Subject: [PATCH 22/48] internal snapshot async +Subject: [PATCH 22/49] internal snapshot async --- Makefile.objs | 1 + @@ -21,7 +21,7 @@ Subject: [PATCH 22/48] internal snapshot async create mode 100644 savevm-async.c diff --git a/Makefile.objs b/Makefile.objs -index 9b12ee6..f5f8dba 100644 +index 9b12ee6afa..f5f8dbab3b 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -51,6 +51,7 @@ common-obj-$(CONFIG_LINUX) += fsdev/ @@ -33,10 +33,10 @@ index 9b12ee6..f5f8dba 100644 common-obj-$(CONFIG_SPICE) += spice-qemu-char.o diff --git a/block.c b/block.c -index 6e906ec..5563a4f 100644 +index 927ba89eb7..884cbf83f2 100644 --- a/block.c +++ b/block.c -@@ -3045,7 +3045,7 @@ out: +@@ -3087,7 +3087,7 @@ out: bdrv_unref(bs_new); } @@ -46,7 +46,7 @@ index 6e906ec..5563a4f 100644 assert(!bs->job); assert(bdrv_op_blocker_is_empty(bs)); diff --git a/hmp-commands-info.hx b/hmp-commands-info.hx -index 1a18380..3b5a0f9 100644 +index 1a1838099f..3b5a0f95e4 100644 --- a/hmp-commands-info.hx +++ b/hmp-commands-info.hx @@ -573,6 +573,19 @@ Show current migration xbzrle cache size. @@ -70,7 +70,7 @@ index 1a18380..3b5a0f9 100644 .args_type = "", .params = "", diff --git a/hmp-commands.hx b/hmp-commands.hx -index 7288203..a2867b5 100644 +index 72882039ee..a2867b56f2 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -1808,3 +1808,35 @@ ETEXI @@ -110,7 +110,7 @@ index 7288203..a2867b5 100644 + .cmd = hmp_savevm_end, + }, diff --git a/hmp.c b/hmp.c -index 465d7fa..aaf0de1 100644 +index 465d7faad0..aaf0de1642 100644 --- a/hmp.c +++ b/hmp.c @@ -2270,6 +2270,63 @@ void hmp_info_memory_devices(Monitor *mon, const QDict *qdict) @@ -178,7 +178,7 @@ index 465d7fa..aaf0de1 100644 { IOThreadInfoList *info_list = qmp_query_iothreads(NULL); diff --git a/hmp.h b/hmp.h -index 17a65b2..8c1b484 100644 +index 17a65b2313..8c1b4846b3 100644 --- a/hmp.h +++ b/hmp.h @@ -26,6 +26,7 @@ void hmp_info_status(Monitor *mon, const QDict *qdict); @@ -201,7 +201,7 @@ index 17a65b2..8c1b484 100644 void hmp_screendump(Monitor *mon, const QDict *qdict); void hmp_nbd_server_start(Monitor *mon, const QDict *qdict); diff --git a/include/block/block.h b/include/block/block.h -index 5149260..b29c69d 100644 +index 5149260827..b29c69d633 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -295,6 +295,7 @@ BlockDriverState *bdrv_find_backing_image(BlockDriverState *bs, @@ -213,7 +213,7 @@ index 5149260..b29c69d 100644 int64_t bdrv_getlength(BlockDriverState *bs); int64_t bdrv_get_allocated_file_size(BlockDriverState *bs); diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h -index 576c7ce..74623de 100644 +index 576c7ce640..74623de16c 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -78,6 +78,7 @@ void qemu_remove_machine_init_done_notifier(Notifier *notify); @@ -241,7 +241,7 @@ index 576c7ce..74623de 100644 uint64_t *res_non_postcopiable, uint64_t *res_postcopiable); diff --git a/migration/savevm.c b/migration/savevm.c -index 3b19a4a..feb0dc6 100644 +index 3b19a4a274..feb0dc6834 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -970,11 +970,11 @@ void qemu_savevm_state_header(QEMUFile *f) @@ -299,7 +299,7 @@ index 3b19a4a..feb0dc6 100644 /* Give an estimate of the amount left to be transferred, diff --git a/qapi-schema.json b/qapi-schema.json -index 1127f2c..c33ebb3 100644 +index edb7c32ac9..a25074183c 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -813,6 +813,40 @@ @@ -343,7 +343,7 @@ index 1127f2c..c33ebb3 100644 # @query-migrate: # # Returns information about current migration process. If migration -@@ -4828,9 +4862,43 @@ +@@ -4825,9 +4859,43 @@ # # Since: 1.2.0 ## @@ -388,7 +388,7 @@ index 1127f2c..c33ebb3 100644 # # An enumeration of key name. diff --git a/qemu-options.hx b/qemu-options.hx -index 99af8ed..10f0e81 100644 +index 99af8edf5f..10f0e81f9b 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -3396,6 +3396,19 @@ STEXI @@ -413,7 +413,7 @@ index 99af8ed..10f0e81 100644 "-daemonize daemonize QEMU after initializing\n", QEMU_ARCH_ALL) diff --git a/savevm-async.c b/savevm-async.c new file mode 100644 -index 0000000..9704a41 +index 0000000000..9704a412d9 --- /dev/null +++ b/savevm-async.c @@ -0,0 +1,525 @@ @@ -943,7 +943,7 @@ index 0000000..9704a41 + return ret; +} diff --git a/vl.c b/vl.c -index 868c489..19afd47 100644 +index 868c4893df..19afd47871 100644 --- a/vl.c +++ b/vl.c @@ -2960,6 +2960,7 @@ int main(int argc, char **argv, char **envp) @@ -976,5 +976,5 @@ index 868c489..19afd47 100644 qdev_prop_check_globals(); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0023-backup-vma-allow-empty-backups.patch b/debian/patches/pve/0023-backup-vma-allow-empty-backups.patch index 9ca91f5..ef2f7b8 100644 --- a/debian/patches/pve/0023-backup-vma-allow-empty-backups.patch +++ b/debian/patches/pve/0023-backup-vma-allow-empty-backups.patch @@ -1,7 +1,7 @@ -From b5ac1badd1810f87aae5091f44bee54e3c45e979 Mon Sep 17 00:00:00 2001 +From 443de3d7bdffb7ddee0a048c4c3f370eaf0b45f2 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 16:31:51 +0100 -Subject: [PATCH 23/48] backup: vma: allow empty backups +Subject: [PATCH 23/49] backup: vma: allow empty backups --- vma-reader.c | 29 ++++++++++++------------- @@ -11,7 +11,7 @@ Subject: [PATCH 23/48] backup: vma: allow empty backups 4 files changed, 76 insertions(+), 54 deletions(-) diff --git a/vma-reader.c b/vma-reader.c -index 2aafb26..78f1de9 100644 +index 2aafb26b2a..78f1de9499 100644 --- a/vma-reader.c +++ b/vma-reader.c @@ -326,11 +326,6 @@ static int vma_reader_read_head(VmaReader *vmar, Error **errp) @@ -58,7 +58,7 @@ index 2aafb26..78f1de9 100644 } return ret; diff --git a/vma-writer.c b/vma-writer.c -index 216577a..0dd668b 100644 +index 216577a4f7..0dd668b257 100644 --- a/vma-writer.c +++ b/vma-writer.c @@ -252,7 +252,7 @@ vma_queue_write(VmaWriter *vmaw, const void *buf, size_t bytes) @@ -120,7 +120,7 @@ index 216577a..0dd668b 100644 return open_drives; diff --git a/vma.c b/vma.c -index 1ffaced..c7c0538 100644 +index 1ffaced897..c7c05385f6 100644 --- a/vma.c +++ b/vma.c @@ -28,7 +28,7 @@ static void help(void) @@ -240,7 +240,7 @@ index 1ffaced..c7c0538 100644 Coroutine *co = qemu_coroutine_create(backup_run_empty, vmaw); qemu_coroutine_enter(co); diff --git a/vma.h b/vma.h -index 98377e4..365ceb2 100644 +index 98377e473e..365ceb2bcb 100644 --- a/vma.h +++ b/vma.h @@ -128,6 +128,7 @@ int64_t coroutine_fn vma_writer_write(VmaWriter *vmaw, uint8_t dev_id, @@ -252,5 +252,5 @@ index 98377e4..365ceb2 100644 int vma_writer_get_status(VmaWriter *vmaw, VmaStatus *status); void vma_writer_set_error(VmaWriter *vmaw, const char *fmt, ...); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0024-qmp-add-get_link_status.patch b/debian/patches/pve/0024-qmp-add-get_link_status.patch index f57929f..1c52ebf 100644 --- a/debian/patches/pve/0024-qmp-add-get_link_status.patch +++ b/debian/patches/pve/0024-qmp-add-get_link_status.patch @@ -1,7 +1,7 @@ -From 759fdd7b7ea2f90a463d4bc766f9c53053498c58 Mon Sep 17 00:00:00 2001 +From 8459f3c5a32357477435b7f094b3007928ec6d9e Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 16:34:41 +0100 -Subject: [PATCH 24/48] qmp: add get_link_status +Subject: [PATCH 24/49] qmp: add get_link_status --- net/net.c | 27 +++++++++++++++++++++++++++ @@ -9,7 +9,7 @@ Subject: [PATCH 24/48] qmp: add get_link_status 2 files changed, 43 insertions(+) diff --git a/net/net.c b/net/net.c -index 0ac3b9e..7410c1e 100644 +index 0ac3b9e80c..7410c1e5f3 100644 --- a/net/net.c +++ b/net/net.c @@ -1373,6 +1373,33 @@ void hmp_info_network(Monitor *mon, const QDict *qdict) @@ -47,7 +47,7 @@ index 0ac3b9e..7410c1e 100644 { NetClientState *ncs[MAX_QUEUE_NUM]; diff --git a/qapi-schema.json b/qapi-schema.json -index c33ebb3..79bfd97 100644 +index a25074183c..21f822aada 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -56,6 +56,7 @@ @@ -81,5 +81,5 @@ index c33ebb3..79bfd97 100644 # # Request the balloon driver to change its balloon size. -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0025-smm_available-false.patch b/debian/patches/pve/0025-smm_available-false.patch index 34cfdc5..1547a09 100644 --- a/debian/patches/pve/0025-smm_available-false.patch +++ b/debian/patches/pve/0025-smm_available-false.patch @@ -1,7 +1,7 @@ -From 8a8c61f58cfde89540c885bc3b0f7e7e9d820782 Mon Sep 17 00:00:00 2001 +From 2d6d2c0c0945595f0e104b86924b2e8599f1bcde Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Tue, 29 Sep 2015 15:37:44 +0200 -Subject: [PATCH 25/48] smm_available = false +Subject: [PATCH 25/49] smm_available = false Signed-off-by: Alexandre Derumier --- @@ -9,7 +9,7 @@ Signed-off-by: Alexandre Derumier 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c -index 81e91a4..4161a45 100644 +index 81e91a4897..4161a45dc0 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -2123,7 +2123,7 @@ bool pc_machine_is_smm_enabled(PCMachineState *pcms) @@ -22,5 +22,5 @@ index 81e91a4..4161a45 100644 if (smm_available) { -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0026-use-whitespace-between-VERSION-and-PKGVERSION.patch b/debian/patches/pve/0026-use-whitespace-between-VERSION-and-PKGVERSION.patch index 773bd49..d9619f6 100644 --- a/debian/patches/pve/0026-use-whitespace-between-VERSION-and-PKGVERSION.patch +++ b/debian/patches/pve/0026-use-whitespace-between-VERSION-and-PKGVERSION.patch @@ -1,7 +1,7 @@ -From 7329980dbe0b2c40a7262c4ea4946dfb23c189c6 Mon Sep 17 00:00:00 2001 +From fcb956b9bf1f3511f31cf406a121ef4894ce73f3 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 16:50:05 +0100 -Subject: [PATCH 26/48] use whitespace between VERSION and PKGVERSION +Subject: [PATCH 26/49] use whitespace between VERSION and PKGVERSION Our kvm version parser expects a white space or comma after the version string, see PVE::QemuServer::kvm_user_version() @@ -10,7 +10,7 @@ the version string, see PVE::QemuServer::kvm_user_version() 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vl.c b/vl.c -index 19afd47..d0780a4 100644 +index 19afd47871..d0780a41b4 100644 --- a/vl.c +++ b/vl.c @@ -1909,7 +1909,7 @@ static void main_loop(void) @@ -23,5 +23,5 @@ index 19afd47..d0780a4 100644 } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0027-vma-add-firewall.patch b/debian/patches/pve/0027-vma-add-firewall.patch index f65b173..2b39621 100644 --- a/debian/patches/pve/0027-vma-add-firewall.patch +++ b/debian/patches/pve/0027-vma-add-firewall.patch @@ -1,7 +1,7 @@ -From 4e55ff68ec7aef1e2ea602890495cd862dd1161c Mon Sep 17 00:00:00 2001 +From bba85b2c9ffcc2e83e276f632c774126623a08b1 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 9 Dec 2015 16:51:23 +0100 -Subject: [PATCH 27/48] vma: add firewall +Subject: [PATCH 27/49] vma: add firewall --- blockdev.c | 78 ++++++++++++++++++++++++++++++++++---------------------- @@ -10,7 +10,7 @@ Subject: [PATCH 27/48] vma: add firewall 3 files changed, 50 insertions(+), 31 deletions(-) diff --git a/blockdev.c b/blockdev.c -index 36b4083..3b82339 100644 +index 36b4083ae9..3b823393bb 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3163,6 +3163,44 @@ void qmp_backup_cancel(Error **errp) @@ -115,7 +115,7 @@ index 36b4083..3b82339 100644 backup_state.cancel = false; diff --git a/hmp.c b/hmp.c -index aaf0de1..12f1f46 100644 +index aaf0de1642..12f1f46125 100644 --- a/hmp.c +++ b/hmp.c @@ -1670,7 +1670,7 @@ void hmp_backup(Monitor *mon, const QDict *qdict) @@ -128,7 +128,7 @@ index aaf0de1..12f1f46 100644 hmp_handle_error(mon, &error); diff --git a/qapi-schema.json b/qapi-schema.json -index 79bfd97..6334018 100644 +index 21f822aada..b20020a054 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -635,6 +635,7 @@ @@ -140,5 +140,5 @@ index 79bfd97..6334018 100644 'returns': 'UuidInfo' } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0028-savevm-async-migration-and-bdrv_open-update.patch b/debian/patches/pve/0028-savevm-async-migration-and-bdrv_open-update.patch index 0c3c864..5dd3928 100644 --- a/debian/patches/pve/0028-savevm-async-migration-and-bdrv_open-update.patch +++ b/debian/patches/pve/0028-savevm-async-migration-and-bdrv_open-update.patch @@ -1,14 +1,14 @@ -From 54847dbb3050d9ec9dd786d572d9c1dff0757d4d Mon Sep 17 00:00:00 2001 +From 69958cb77bf634951bde45a234871ca591e62dcc Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Thu, 10 Dec 2015 15:14:00 +0100 -Subject: [PATCH 28/48] savevm-async: migration and bdrv_open update +Subject: [PATCH 28/49] savevm-async: migration and bdrv_open update --- savevm-async.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/savevm-async.c b/savevm-async.c -index 9704a41..6ac03af 100644 +index 9704a412d9..6ac03af9c8 100644 --- a/savevm-async.c +++ b/savevm-async.c @@ -154,10 +154,10 @@ static int block_state_close(void *opaque) @@ -97,5 +97,5 @@ index 9704a41..6ac03af 100644 bdrv_op_block_all(bs, blocker); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0029-vnc-make-x509-imply-tls-again.patch b/debian/patches/pve/0029-vnc-make-x509-imply-tls-again.patch index 81cce23..2876de8 100644 --- a/debian/patches/pve/0029-vnc-make-x509-imply-tls-again.patch +++ b/debian/patches/pve/0029-vnc-make-x509-imply-tls-again.patch @@ -1,17 +1,17 @@ -From 4e0a43ec969bcdf5d3bb01892bc75346e47676d6 Mon Sep 17 00:00:00 2001 +From ea4b82c698e14c17393cbbaf49ef1e84a02603b8 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Tue, 12 Jan 2016 09:09:49 +0100 -Subject: [PATCH 29/48] vnc: make x509 imply tls again +Subject: [PATCH 29/49] vnc: make x509 imply tls again --- ui/vnc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ui/vnc.c b/ui/vnc.c -index 29575f8..039b3ed 100644 +index 9c8ab42eea..eb9420e830 100644 --- a/ui/vnc.c +++ b/ui/vnc.c -@@ -3878,9 +3878,8 @@ void vnc_display_open(const char *id, Error **errp) +@@ -3881,9 +3881,8 @@ void vnc_display_open(const char *id, Error **errp) const char *path; bool tls = false, x509 = false, x509verify = false; tls = qemu_opt_get_bool(opts, "tls", false); @@ -24,5 +24,5 @@ index 29575f8..039b3ed 100644 x509 = true; } else { -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0030-PVE-VNC-authentication.patch b/debian/patches/pve/0030-PVE-VNC-authentication.patch index 681fc4a..5898883 100644 --- a/debian/patches/pve/0030-PVE-VNC-authentication.patch +++ b/debian/patches/pve/0030-PVE-VNC-authentication.patch @@ -1,7 +1,7 @@ -From d55b3d4bca482ded41c0c1489626e426007e786c Mon Sep 17 00:00:00 2001 +From aeb28b3ef956941778dcfb395da885d53abb5a8d Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Mon, 11 Jan 2016 10:40:31 +0100 -Subject: [PATCH 30/48] PVE VNC authentication +Subject: [PATCH 30/49] PVE VNC authentication --- crypto/tlscreds.c | 47 +++++++++++ @@ -18,7 +18,7 @@ Subject: [PATCH 30/48] PVE VNC authentication 11 files changed, 376 insertions(+), 41 deletions(-) diff --git a/crypto/tlscreds.c b/crypto/tlscreds.c -index a896553..e9ae13c 100644 +index a8965531b6..e9ae13ce47 100644 --- a/crypto/tlscreds.c +++ b/crypto/tlscreds.c @@ -158,6 +158,33 @@ qcrypto_tls_creds_prop_get_verify(Object *obj, @@ -83,7 +83,7 @@ index a896553..e9ae13c 100644 diff --git a/crypto/tlscredspriv.h b/crypto/tlscredspriv.h -index 13e9b6c..0356acc 100644 +index 13e9b6c0b2..0356acc2c9 100644 --- a/crypto/tlscredspriv.h +++ b/crypto/tlscredspriv.h @@ -36,6 +36,8 @@ int qcrypto_tls_creds_get_dh_params_file(QCryptoTLSCreds *creds, @@ -96,7 +96,7 @@ index 13e9b6c..0356acc 100644 #endif /* QCRYPTO_TLSCREDSPRIV_H */ diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c -index 50eb54f..09f7364 100644 +index 50eb54f6bb..09f7364001 100644 --- a/crypto/tlscredsx509.c +++ b/crypto/tlscredsx509.c @@ -555,22 +555,23 @@ qcrypto_tls_creds_x509_load(QCryptoTLSCredsX509 *creds, @@ -144,7 +144,7 @@ index 50eb54f..09f7364 100644 goto cleanup; } diff --git a/crypto/tlssession.c b/crypto/tlssession.c -index 96a02de..c453e29 100644 +index 96a02deb69..c453e29cad 100644 --- a/crypto/tlssession.c +++ b/crypto/tlssession.c @@ -23,6 +23,7 @@ @@ -156,7 +156,7 @@ index 96a02de..c453e29 100644 #include "trace.h" diff --git a/include/crypto/tlscreds.h b/include/crypto/tlscreds.h -index ad47d88..f86d379 100644 +index ad47d88be7..f86d379f26 100644 --- a/include/crypto/tlscreds.h +++ b/include/crypto/tlscreds.h @@ -55,6 +55,7 @@ struct QCryptoTLSCreds { @@ -168,7 +168,7 @@ index ad47d88..f86d379 100644 diff --git a/include/ui/console.h b/include/ui/console.h -index d759338..69f010e 100644 +index d759338816..69f010e1db 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -462,6 +462,7 @@ static inline void cocoa_display_init(DisplayState *ds, int full_screen) @@ -180,7 +180,7 @@ index d759338..69f010e 100644 void vnc_display_open(const char *id, Error **errp); void vnc_display_add_client(const char *id, int csock, bool skipauth); diff --git a/qemu-options.hx b/qemu-options.hx -index 10f0e81..fbd1a1c 100644 +index 10f0e81f9b..fbd1a1cecf 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -513,6 +513,9 @@ STEXI @@ -194,7 +194,7 @@ index 10f0e81..fbd1a1c 100644 "-fda/-fdb file use 'file' as floppy disk 0/1 image\n", QEMU_ARCH_ALL) DEF("fdb", HAS_ARG, QEMU_OPTION_fdb, "", QEMU_ARCH_ALL) diff --git a/ui/vnc-auth-vencrypt.c b/ui/vnc-auth-vencrypt.c -index ffaab57..de1c194 100644 +index ffaab57550..de1c1949ba 100644 --- a/ui/vnc-auth-vencrypt.c +++ b/ui/vnc-auth-vencrypt.c @@ -28,6 +28,107 @@ @@ -433,7 +433,7 @@ index ffaab57..de1c194 100644 vnc_read_when(vs, protocol_client_vencrypt_auth, 4); } diff --git a/ui/vnc.c b/ui/vnc.c -index 039b3ed..a34ba08 100644 +index eb9420e830..2710614a72 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -56,6 +56,125 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 }; @@ -562,7 +562,7 @@ index 039b3ed..a34ba08 100644 static QTAILQ_HEAD(, VncDisplay) vnc_displays = QTAILQ_HEAD_INITIALIZER(vnc_displays); -@@ -3350,10 +3469,16 @@ vnc_display_setup_auth(int *auth, +@@ -3356,10 +3475,16 @@ vnc_display_setup_auth(int *auth, if (password) { if (is_x509) { VNC_DEBUG("Initializing VNC server with x509 password auth\n"); @@ -581,7 +581,7 @@ index 039b3ed..a34ba08 100644 } } else if (sasl) { -@@ -3387,6 +3512,7 @@ vnc_display_create_creds(bool x509, +@@ -3393,6 +3518,7 @@ vnc_display_create_creds(bool x509, bool x509verify, const char *dir, const char *id, @@ -589,7 +589,7 @@ index 039b3ed..a34ba08 100644 Error **errp) { gchar *credsid = g_strdup_printf("tlsvnc%s", id); -@@ -3402,6 +3528,7 @@ vnc_display_create_creds(bool x509, +@@ -3408,6 +3534,7 @@ vnc_display_create_creds(bool x509, "endpoint", "server", "dir", dir, "verify-peer", x509verify ? "yes" : "no", @@ -597,7 +597,7 @@ index 039b3ed..a34ba08 100644 NULL); } else { creds = object_new_with_props(TYPE_QCRYPTO_TLS_CREDS_ANON, -@@ -3409,6 +3536,7 @@ vnc_display_create_creds(bool x509, +@@ -3415,6 +3542,7 @@ vnc_display_create_creds(bool x509, credsid, &err, "endpoint", "server", @@ -605,7 +605,7 @@ index 039b3ed..a34ba08 100644 NULL); } -@@ -3876,12 +4004,17 @@ void vnc_display_open(const char *id, Error **errp) +@@ -3879,12 +4007,17 @@ void vnc_display_open(const char *id, Error **errp) } } else { const char *path; @@ -624,7 +624,7 @@ index 039b3ed..a34ba08 100644 } else { path = qemu_opt_get(opts, "x509verify"); if (path) { -@@ -3893,6 +4026,7 @@ void vnc_display_open(const char *id, Error **errp) +@@ -3896,6 +4029,7 @@ void vnc_display_open(const char *id, Error **errp) x509verify, path, vd->id, @@ -633,7 +633,7 @@ index 039b3ed..a34ba08 100644 if (!vd->tlscreds) { goto fail; diff --git a/ui/vnc.h b/ui/vnc.h -index 694cf32..78d622a 100644 +index 694cf32ca9..78d622ab84 100644 --- a/ui/vnc.h +++ b/ui/vnc.h @@ -284,6 +284,8 @@ struct VncState @@ -653,7 +653,7 @@ index 694cf32..78d622a 100644 + #endif /* QEMU_VNC_H */ diff --git a/vl.c b/vl.c -index d0780a4..2496b06 100644 +index d0780a41b4..2496b066b7 100644 --- a/vl.c +++ b/vl.c @@ -2947,6 +2947,7 @@ static int qemu_read_default_config_file(void) @@ -680,5 +680,5 @@ index d0780a4..2496b06 100644 vnc_parse(optarg, &error_fatal); break; -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0031-vma-writer-don-t-bail-out-on-zero-length-files.patch b/debian/patches/pve/0031-vma-writer-don-t-bail-out-on-zero-length-files.patch index f470528..16a738b 100644 --- a/debian/patches/pve/0031-vma-writer-don-t-bail-out-on-zero-length-files.patch +++ b/debian/patches/pve/0031-vma-writer-don-t-bail-out-on-zero-length-files.patch @@ -1,14 +1,14 @@ -From c1210916b52651aaa5d27e69fce78dd57818eab1 Mon Sep 17 00:00:00 2001 +From 478d42f3490bdb94360dc7ed6a3437007d0dc97c Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Mon, 8 Feb 2016 08:23:34 +0100 -Subject: [PATCH 31/48] vma-writer: don't bail out on zero-length files +Subject: [PATCH 31/49] vma-writer: don't bail out on zero-length files --- vma-writer.c | 1 - 1 file changed, 1 deletion(-) diff --git a/vma-writer.c b/vma-writer.c -index 0dd668b..70dcca0 100644 +index 0dd668b257..70dcca0771 100644 --- a/vma-writer.c +++ b/vma-writer.c @@ -130,7 +130,6 @@ int vma_writer_add_config(VmaWriter *vmaw, const char *name, gpointer data, @@ -20,5 +20,5 @@ index 0dd668b..70dcca0 100644 gchar *basename = g_path_get_basename(name); uint32_t name_ptr = allocate_header_string(vmaw, basename); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0032-vma-better-driver-guessing-for-bdrv_open.patch b/debian/patches/pve/0032-vma-better-driver-guessing-for-bdrv_open.patch index 2a2614b..38b1ac5 100644 --- a/debian/patches/pve/0032-vma-better-driver-guessing-for-bdrv_open.patch +++ b/debian/patches/pve/0032-vma-better-driver-guessing-for-bdrv_open.patch @@ -1,7 +1,7 @@ -From 0cf02f586f50e0bc1b25f0ecf76207b2510d77df Mon Sep 17 00:00:00 2001 +From 0f5c3683d083db785b56372367d54385102b4153 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Tue, 23 Feb 2016 15:48:41 +0100 -Subject: [PATCH 32/48] vma: better driver guessing for bdrv_open +Subject: [PATCH 32/49] vma: better driver guessing for bdrv_open Only use 'raw' when the file actually ends with .raw and no protocol has been specified. With protocol pass the @@ -12,7 +12,7 @@ into account. 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/vma.c b/vma.c -index c7c0538..4903568 100644 +index c7c05385f6..4903568fb4 100644 --- a/vma.c +++ b/vma.c @@ -294,7 +294,20 @@ static int extract_content(int argc, char **argv) @@ -38,5 +38,5 @@ index c7c0538..4903568 100644 error_get_pretty(errp)); } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0033-block-add-the-zeroinit-block-driver-filter.patch b/debian/patches/pve/0033-block-add-the-zeroinit-block-driver-filter.patch index d4be32d..f5ca074 100644 --- a/debian/patches/pve/0033-block-add-the-zeroinit-block-driver-filter.patch +++ b/debian/patches/pve/0033-block-add-the-zeroinit-block-driver-filter.patch @@ -1,7 +1,7 @@ -From 35facc3a3549baf4cccaef27afa9c35a25abe91c Mon Sep 17 00:00:00 2001 +From 06a152c85ba52b0af3081ab678e860b05e316aea Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Thu, 17 Mar 2016 11:33:37 +0100 -Subject: [PATCH 33/48] block: add the zeroinit block driver filter +Subject: [PATCH 33/49] block: add the zeroinit block driver filter --- block/Makefile.objs | 1 + @@ -10,7 +10,7 @@ Subject: [PATCH 33/48] block: add the zeroinit block driver filter create mode 100644 block/zeroinit.c diff --git a/block/Makefile.objs b/block/Makefile.objs -index de96f8e..8cdac08 100644 +index de96f8ee80..8cdac08db5 100644 --- a/block/Makefile.objs +++ b/block/Makefile.objs @@ -4,6 +4,7 @@ block-obj-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o @@ -23,7 +23,7 @@ index de96f8e..8cdac08 100644 block-obj-$(CONFIG_WIN32) += file-win32.o win32-aio.o diff --git a/block/zeroinit.c b/block/zeroinit.c new file mode 100644 -index 0000000..0a8c7f9 +index 0000000000..0a8c7f9622 --- /dev/null +++ b/block/zeroinit.c @@ -0,0 +1,219 @@ @@ -247,5 +247,5 @@ index 0000000..0a8c7f9 + +block_init(bdrv_zeroinit_init); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0034-vma-add-format-option-to-device-mapping.patch b/debian/patches/pve/0034-vma-add-format-option-to-device-mapping.patch index 4a26623..1f7a0b8 100644 --- a/debian/patches/pve/0034-vma-add-format-option-to-device-mapping.patch +++ b/debian/patches/pve/0034-vma-add-format-option-to-device-mapping.patch @@ -1,7 +1,7 @@ -From a61194439318c95dfcb7df973ac961c12937dbcd Mon Sep 17 00:00:00 2001 +From 541834a4018302bea4e164ee7b09d080adcecb86 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Tue, 12 Apr 2016 13:49:44 +0200 -Subject: [PATCH 34/48] vma: add format option to device mapping +Subject: [PATCH 34/49] vma: add format option to device mapping The BDRV_O_PROTOCOL option breaks non-raw protocol devices, so we instead now allow the format to be explicitly @@ -15,7 +15,7 @@ silence the warnings by passing the drive mapping. 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/vma.c b/vma.c -index 4903568..f71e5a5 100644 +index 4903568fb4..f71e5a5933 100644 --- a/vma.c +++ b/vma.c @@ -131,6 +131,7 @@ static int list_content(int argc, char **argv) @@ -104,5 +104,5 @@ index 4903568..f71e5a5 100644 if (errp || bdrv_open(&bs, devfn, NULL, options, flags, &errp)) { -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0035-fix-possible-unitialised-return-value.patch b/debian/patches/pve/0035-fix-possible-unitialised-return-value.patch index c9af179..0b81f42 100644 --- a/debian/patches/pve/0035-fix-possible-unitialised-return-value.patch +++ b/debian/patches/pve/0035-fix-possible-unitialised-return-value.patch @@ -1,14 +1,14 @@ -From 6db418de8e775dd2f3699033699777498f4e2afd Mon Sep 17 00:00:00 2001 +From 2c724d4f2cc5da6664da260f437b76b7111f680f Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Wed, 6 Apr 2016 16:45:15 +0200 -Subject: [PATCH 35/48] fix possible unitialised return value +Subject: [PATCH 35/49] fix possible unitialised return value --- migration/savevm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/savevm.c b/migration/savevm.c -index feb0dc6..d2615f4 100644 +index feb0dc6834..d2615f4620 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -1111,7 +1111,7 @@ int qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only) @@ -21,5 +21,5 @@ index feb0dc6..d2615f4 100644 trace_savevm_state_complete_precopy(); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0036-vnc-refactor-to-QIOChannelSocket.patch b/debian/patches/pve/0036-vnc-refactor-to-QIOChannelSocket.patch index 3e3e988..c1cb2a1 100644 --- a/debian/patches/pve/0036-vnc-refactor-to-QIOChannelSocket.patch +++ b/debian/patches/pve/0036-vnc-refactor-to-QIOChannelSocket.patch @@ -1,14 +1,14 @@ -From f9fec937bcc33ff1edb11b53107486a35b23f2a8 Mon Sep 17 00:00:00 2001 +From eb44a5c162bb938cb0f7dfe920e32870540c3678 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Wed, 6 Apr 2016 16:47:54 +0200 -Subject: [PATCH 36/48] vnc: refactor to QIOChannelSocket +Subject: [PATCH 36/49] vnc: refactor to QIOChannelSocket --- ui/vnc-auth-vencrypt.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/ui/vnc-auth-vencrypt.c b/ui/vnc-auth-vencrypt.c -index de1c194..594ca73 100644 +index de1c1949ba..594ca737a9 100644 --- a/ui/vnc-auth-vencrypt.c +++ b/ui/vnc-auth-vencrypt.c @@ -28,27 +28,23 @@ @@ -83,5 +83,5 @@ index de1c194..594ca73 100644 } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0037-vma-use-BlockBackend-on-extract.patch b/debian/patches/pve/0037-vma-use-BlockBackend-on-extract.patch index 0089256..a08c07e 100644 --- a/debian/patches/pve/0037-vma-use-BlockBackend-on-extract.patch +++ b/debian/patches/pve/0037-vma-use-BlockBackend-on-extract.patch @@ -1,7 +1,7 @@ -From d63b3c58bce32b976231923f5e186ebd55259c98 Mon Sep 17 00:00:00 2001 +From 8be3faeadab088d717a91bfcad6c481bca0264f7 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Fri, 1 Jul 2016 15:47:29 +0200 -Subject: [PATCH 37/48] vma: use BlockBackend on extract +Subject: [PATCH 37/49] vma: use BlockBackend on extract As we else rely on bdrv_close_all() do clean up, which was rewritten in ca9bd24cf1d53775169ba9adc17e265554d1afed and fails on "dangling" @@ -16,7 +16,7 @@ and dump_config(), both do not have a BDS so no need to change here. 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/vma.c b/vma.c -index f71e5a5..ad51090 100644 +index f71e5a5933..ad51090651 100644 --- a/vma.c +++ b/vma.c @@ -20,6 +20,7 @@ @@ -71,5 +71,5 @@ index f71e5a5..ad51090 100644 return ret; -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0038-vma-byte-based-write-calls.patch b/debian/patches/pve/0038-vma-byte-based-write-calls.patch index 6727f09..71d6d9e 100644 --- a/debian/patches/pve/0038-vma-byte-based-write-calls.patch +++ b/debian/patches/pve/0038-vma-byte-based-write-calls.patch @@ -1,7 +1,7 @@ -From a004ee9295029201e8fc3b8fe4acf7f85674527c Mon Sep 17 00:00:00 2001 +From e1e6c67464a39d9fe9e2133f4deaf4113df2b300 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Fri, 9 Sep 2016 14:51:28 +0200 -Subject: [PATCH 38/48] vma: byte based write calls +Subject: [PATCH 38/49] vma: byte based write calls --- vma-reader.c | 42 +++++++++++++++++++++--------------------- @@ -10,7 +10,7 @@ Subject: [PATCH 38/48] vma: byte based write calls 3 files changed, 32 insertions(+), 34 deletions(-) diff --git a/vma-reader.c b/vma-reader.c -index 78f1de9..2000889 100644 +index 78f1de9499..2000889bd3 100644 --- a/vma-reader.c +++ b/vma-reader.c @@ -25,7 +25,7 @@ @@ -148,7 +148,7 @@ index 78f1de9..2000889 100644 return -1; } diff --git a/vma.c b/vma.c -index ad51090..aafdc2d 100644 +index ad51090651..aafdc2d7f5 100644 --- a/vma.c +++ b/vma.c @@ -334,9 +334,7 @@ static int extract_content(int argc, char **argv) @@ -220,7 +220,7 @@ index ad51090..aafdc2d 100644 job->dev_id = dev_id; diff --git a/vma.h b/vma.h -index 365ceb2..fa6f4df 100644 +index 365ceb2bcb..fa6f4df7e7 100644 --- a/vma.h +++ b/vma.h @@ -140,7 +140,7 @@ VmaHeader *vma_reader_get_header(VmaReader *vmar); @@ -233,5 +233,5 @@ index 365ceb2..fa6f4df 100644 int vma_reader_restore(VmaReader *vmar, int vmstate_fd, bool verbose, Error **errp); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0039-rbd-disable-rbd_cache_writethrough_until_flush-with-.patch b/debian/patches/pve/0039-rbd-disable-rbd_cache_writethrough_until_flush-with-.patch index 0f1a65e..64a14db 100644 --- a/debian/patches/pve/0039-rbd-disable-rbd_cache_writethrough_until_flush-with-.patch +++ b/debian/patches/pve/0039-rbd-disable-rbd_cache_writethrough_until_flush-with-.patch @@ -1,7 +1,7 @@ -From 0dd047c39e7821c8e31f9133be12bc9be61c045c Mon Sep 17 00:00:00 2001 +From a1759898bd5590543f712d707ffba2c9e8d92bd1 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Tue, 26 Jul 2016 16:51:00 +0200 -Subject: [PATCH 39/48] rbd: disable rbd_cache_writethrough_until_flush with +Subject: [PATCH 39/49] rbd: disable rbd_cache_writethrough_until_flush with cache=unsafe Signed-off-by: Alexandre Derumier @@ -10,10 +10,10 @@ Signed-off-by: Alexandre Derumier 1 file changed, 4 insertions(+) diff --git a/block/rbd.c b/block/rbd.c -index 498322b..e9c02c6 100644 +index 1ceeeb5a60..30fe179585 100644 --- a/block/rbd.c +++ b/block/rbd.c -@@ -616,6 +616,10 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags, +@@ -623,6 +623,10 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags, rados_conf_set(s->cluster, "rbd_cache", "true"); } @@ -25,5 +25,5 @@ index 498322b..e9c02c6 100644 if (r < 0) { error_setg_errno(errp, -r, "error connecting"); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0040-enable-cache-unsafe-for-vma-extract_content-and-qmp_.patch b/debian/patches/pve/0040-enable-cache-unsafe-for-vma-extract_content-and-qmp_.patch index 9b42f49..56f9d90 100644 --- a/debian/patches/pve/0040-enable-cache-unsafe-for-vma-extract_content-and-qmp_.patch +++ b/debian/patches/pve/0040-enable-cache-unsafe-for-vma-extract_content-and-qmp_.patch @@ -1,7 +1,7 @@ -From 5a587bc1cfc30faa8506b5c2925b767b4c3d7b56 Mon Sep 17 00:00:00 2001 +From 575f41c5a7a69d66479c709a8a30b6c2d2592dec Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Mon, 1 Aug 2016 10:52:46 +0200 -Subject: [PATCH 40/48] enable cache=unsafe for vma extract_content and +Subject: [PATCH 40/49] enable cache=unsafe for vma extract_content and qmp_savevm_start We don't send any flush here, so we need to open with cache=unsafe. @@ -13,7 +13,7 @@ Signed-off-by: Alexandre Derumier 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/savevm-async.c b/savevm-async.c -index 6ac03af..46c1be7 100644 +index 6ac03af9c8..46c1be7887 100644 --- a/savevm-async.c +++ b/savevm-async.c @@ -253,7 +253,7 @@ void qmp_savevm_start(bool has_statefile, const char *statefile, Error **errp) @@ -26,7 +26,7 @@ index 6ac03af..46c1be7 100644 if (snap_state.state != SAVE_STATE_DONE) { diff --git a/vma.c b/vma.c -index aafdc2d..4f55799 100644 +index aafdc2d7f5..4f55799533 100644 --- a/vma.c +++ b/vma.c @@ -281,7 +281,7 @@ static int extract_content(int argc, char **argv) @@ -39,5 +39,5 @@ index aafdc2d..4f55799 100644 if (readmap) { -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0041-savevm-async-updates.patch b/debian/patches/pve/0041-savevm-async-updates.patch index 781ddb4..95e687c 100644 --- a/debian/patches/pve/0041-savevm-async-updates.patch +++ b/debian/patches/pve/0041-savevm-async-updates.patch @@ -1,14 +1,14 @@ -From d7b0ad8cf8ef0aad35b0549128003dbb49b8386d Mon Sep 17 00:00:00 2001 +From 0bf0f6e121a93883fc5b575e6cdbdcc95e26db7e Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Fri, 9 Sep 2016 15:21:19 +0200 -Subject: [PATCH 41/48] savevm-async updates +Subject: [PATCH 41/49] savevm-async updates --- savevm-async.c | 79 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/savevm-async.c b/savevm-async.c -index 46c1be7..2f4766c 100644 +index 46c1be7887..2f4766cf6c 100644 --- a/savevm-async.c +++ b/savevm-async.c @@ -20,6 +20,8 @@ @@ -211,5 +211,5 @@ index 46c1be7..2f4766c 100644 return ret; } -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0042-qmp_snapshot_drive-add-aiocontext.patch b/debian/patches/pve/0042-qmp_snapshot_drive-add-aiocontext.patch index 10ae052..e9972c0 100644 --- a/debian/patches/pve/0042-qmp_snapshot_drive-add-aiocontext.patch +++ b/debian/patches/pve/0042-qmp_snapshot_drive-add-aiocontext.patch @@ -1,7 +1,7 @@ -From 4fb6191acb1fdff8170a26ba9acd835c9eaf8218 Mon Sep 17 00:00:00 2001 +From bb3beef4498fdf2bd5aba2a5e91a4d889f7db0e1 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Tue, 13 Sep 2016 01:57:56 +0200 -Subject: [PATCH 42/48] qmp_snapshot_drive: add aiocontext +Subject: [PATCH 42/49] qmp_snapshot_drive: add aiocontext Signed-off-by: Alexandre Derumier --- @@ -9,7 +9,7 @@ Signed-off-by: Alexandre Derumier 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/savevm-async.c b/savevm-async.c -index 2f4766c..5913a90 100644 +index 2f4766cf6c..5913a905d8 100644 --- a/savevm-async.c +++ b/savevm-async.c @@ -345,6 +345,7 @@ void qmp_snapshot_drive(const char *device, const char *name, Error **errp) @@ -61,5 +61,5 @@ index 2f4766c..5913a90 100644 void qmp_delete_drive_snapshot(const char *device, const char *name, -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0043-vma-sizes-passed-to-blk_co_preadv-should-be-bytes-no.patch b/debian/patches/pve/0043-vma-sizes-passed-to-blk_co_preadv-should-be-bytes-no.patch index 97ebf96..3807055 100644 --- a/debian/patches/pve/0043-vma-sizes-passed-to-blk_co_preadv-should-be-bytes-no.patch +++ b/debian/patches/pve/0043-vma-sizes-passed-to-blk_co_preadv-should-be-bytes-no.patch @@ -1,14 +1,14 @@ -From 220fb93343dc6c05989c903873d8ed68943848ef Mon Sep 17 00:00:00 2001 +From d35049d4852cde2197c74185ccb1c1d0869ebf82 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Fri, 21 Oct 2016 09:09:26 +0200 -Subject: [PATCH 43/48] vma: sizes passed to blk_co_preadv should be bytes now +Subject: [PATCH 43/49] vma: sizes passed to blk_co_preadv should be bytes now --- vma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vma.c b/vma.c -index 4f55799..0491542 100644 +index 4f55799533..04915427c8 100644 --- a/vma.c +++ b/vma.c @@ -466,8 +466,8 @@ static void coroutine_fn backup_run(void *opaque) @@ -23,5 +23,5 @@ index 4f55799..0491542 100644 vma_writer_set_error(job->vmaw, "read error", -1); goto out; -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0044-glusterfs-no-default-logfile-if-daemonized.patch b/debian/patches/pve/0044-glusterfs-no-default-logfile-if-daemonized.patch index 4b5694d..f27b4da 100644 --- a/debian/patches/pve/0044-glusterfs-no-default-logfile-if-daemonized.patch +++ b/debian/patches/pve/0044-glusterfs-no-default-logfile-if-daemonized.patch @@ -1,14 +1,14 @@ -From cb89d816594f141bad45536886900cbf33ba09bd Mon Sep 17 00:00:00 2001 +From 74c0a7a984dde09ca789b6906418ec8ed98ece05 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Mon, 24 Oct 2016 09:32:36 +0200 -Subject: [PATCH 44/48] glusterfs: no default logfile if daemonized +Subject: [PATCH 44/49] glusterfs: no default logfile if daemonized --- block/gluster.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/block/gluster.c b/block/gluster.c -index a577dae..e712dc7 100644 +index cf29b5f9a4..bc44c50db0 100644 --- a/block/gluster.c +++ b/block/gluster.c @@ -33,7 +33,7 @@ @@ -28,7 +28,7 @@ index a577dae..e712dc7 100644 glfs = glfs_find_preopened(gconf->volume); if (glfs) { -@@ -433,9 +434,15 @@ static struct glfs *qemu_gluster_glfs_init(BlockdevOptionsGluster *gconf, +@@ -440,9 +441,15 @@ static struct glfs *qemu_gluster_glfs_init(BlockdevOptionsGluster *gconf, } } @@ -48,5 +48,5 @@ index a577dae..e712dc7 100644 ret = glfs_init(glfs); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0045-qmp_delete_drive_snapshot-add-aiocontext.patch b/debian/patches/pve/0045-qmp_delete_drive_snapshot-add-aiocontext.patch index 8928886..08a955e 100644 --- a/debian/patches/pve/0045-qmp_delete_drive_snapshot-add-aiocontext.patch +++ b/debian/patches/pve/0045-qmp_delete_drive_snapshot-add-aiocontext.patch @@ -1,7 +1,7 @@ -From 58d620cb1d511be7a6521e76a6cd54ebbbbae2b7 Mon Sep 17 00:00:00 2001 +From a9cab937a9406034b56a28ebd51d02bc6405cf4a Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Mon, 7 Nov 2016 11:47:50 +0100 -Subject: [PATCH 45/48] qmp_delete_drive_snapshot : add aiocontext +Subject: [PATCH 45/49] qmp_delete_drive_snapshot : add aiocontext this fix snapshot delete of qcow2 with iothread enabled @@ -11,7 +11,7 @@ Signed-off-by: Alexandre Derumier 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/savevm-async.c b/savevm-async.c -index 5913a90..3adf89f 100644 +index 5913a905d8..3adf89fdb2 100644 --- a/savevm-async.c +++ b/savevm-async.c @@ -427,6 +427,7 @@ void qmp_delete_drive_snapshot(const char *device, const char *name, @@ -55,5 +55,5 @@ index 5913a90..3adf89f 100644 static ssize_t loadstate_get_buffer(void *opaque, uint8_t *buf, int64_t pos, -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0046-convert-savevm-async-to-threads.patch b/debian/patches/pve/0046-convert-savevm-async-to-threads.patch index d2606bc..e52e22e 100644 --- a/debian/patches/pve/0046-convert-savevm-async-to-threads.patch +++ b/debian/patches/pve/0046-convert-savevm-async-to-threads.patch @@ -1,14 +1,14 @@ -From 190e9321e1657ec0b956ecece21d6a037487cd14 Mon Sep 17 00:00:00 2001 +From abc1172df5ed472111a8bed0336441449ba03d0c Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Tue, 8 Nov 2016 11:13:06 +0100 -Subject: [PATCH 46/48] convert savevm-async to threads +Subject: [PATCH 46/49] convert savevm-async to threads --- savevm-async.c | 144 +++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 88 insertions(+), 56 deletions(-) diff --git a/savevm-async.c b/savevm-async.c -index 3adf89f..9f839fa 100644 +index 3adf89fdb2..9f839faab5 100644 --- a/savevm-async.c +++ b/savevm-async.c @@ -48,6 +48,8 @@ static struct SnapshotState { @@ -230,5 +230,5 @@ index 3adf89f..9f839fa 100644 return; -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0047-glusterfs-allow-partial-reads.patch b/debian/patches/pve/0047-glusterfs-allow-partial-reads.patch index 3416bc4..43fb8ed 100644 --- a/debian/patches/pve/0047-glusterfs-allow-partial-reads.patch +++ b/debian/patches/pve/0047-glusterfs-allow-partial-reads.patch @@ -1,7 +1,7 @@ -From 2cebda37c624832599906df01f540fdc76ecac50 Mon Sep 17 00:00:00 2001 +From a79af764a40e7587fe06ab058e42710253ddf686 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Wed, 30 Nov 2016 10:27:47 +0100 -Subject: [PATCH 47/48] glusterfs: allow partial reads +Subject: [PATCH 47/49] glusterfs: allow partial reads This should deal with qemu bug #1644754 until upstream decides which way to go. The general direction seems to be @@ -14,7 +14,7 @@ sense. 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/block/gluster.c b/block/gluster.c -index e712dc7..daf6cec 100644 +index bc44c50db0..4fdf68f1fc 100644 --- a/block/gluster.c +++ b/block/gluster.c @@ -42,6 +42,7 @@ typedef struct GlusterAIOCB { @@ -25,7 +25,7 @@ index e712dc7..daf6cec 100644 } GlusterAIOCB; typedef struct BDRVGlusterState { -@@ -705,8 +706,10 @@ static void gluster_finish_aiocb(struct glfs_fd *fd, ssize_t ret, void *arg) +@@ -713,8 +714,10 @@ static void gluster_finish_aiocb(struct glfs_fd *fd, ssize_t ret, void *arg) acb->ret = 0; /* Success */ } else if (ret < 0) { acb->ret = -errno; /* Read/Write failed */ @@ -37,7 +37,7 @@ index e712dc7..daf6cec 100644 } aio_co_schedule(acb->aio_context, acb->coroutine); -@@ -954,6 +957,7 @@ static coroutine_fn int qemu_gluster_co_pwrite_zeroes(BlockDriverState *bs, +@@ -962,6 +965,7 @@ static coroutine_fn int qemu_gluster_co_pwrite_zeroes(BlockDriverState *bs, acb.ret = 0; acb.coroutine = qemu_coroutine_self(); acb.aio_context = bdrv_get_aio_context(bs); @@ -45,7 +45,7 @@ index e712dc7..daf6cec 100644 ret = glfs_zerofill_async(s->fd, offset, size, gluster_finish_aiocb, &acb); if (ret < 0) { -@@ -1076,9 +1080,11 @@ static coroutine_fn int qemu_gluster_co_rw(BlockDriverState *bs, +@@ -1084,9 +1088,11 @@ static coroutine_fn int qemu_gluster_co_rw(BlockDriverState *bs, acb.aio_context = bdrv_get_aio_context(bs); if (write) { @@ -57,7 +57,7 @@ index e712dc7..daf6cec 100644 ret = glfs_preadv_async(s->fd, qiov->iov, qiov->niov, offset, 0, gluster_finish_aiocb, &acb); } -@@ -1142,6 +1148,7 @@ static coroutine_fn int qemu_gluster_co_flush_to_disk(BlockDriverState *bs) +@@ -1150,6 +1156,7 @@ static coroutine_fn int qemu_gluster_co_flush_to_disk(BlockDriverState *bs) acb.ret = 0; acb.coroutine = qemu_coroutine_self(); acb.aio_context = bdrv_get_aio_context(bs); @@ -65,7 +65,7 @@ index e712dc7..daf6cec 100644 ret = glfs_fsync_async(s->fd, gluster_finish_aiocb, &acb); if (ret < 0) { -@@ -1188,6 +1195,7 @@ static coroutine_fn int qemu_gluster_co_pdiscard(BlockDriverState *bs, +@@ -1196,6 +1203,7 @@ static coroutine_fn int qemu_gluster_co_pdiscard(BlockDriverState *bs, acb.ret = 0; acb.coroutine = qemu_coroutine_self(); acb.aio_context = bdrv_get_aio_context(bs); @@ -74,5 +74,5 @@ index e712dc7..daf6cec 100644 ret = glfs_discard_async(s->fd, offset, size, gluster_finish_aiocb, &acb); if (ret < 0) { -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0048-vma-don-t-use-O_DIRECT-on-pipes.patch b/debian/patches/pve/0048-vma-don-t-use-O_DIRECT-on-pipes.patch index 8ec4b1c..82acfee 100644 --- a/debian/patches/pve/0048-vma-don-t-use-O_DIRECT-on-pipes.patch +++ b/debian/patches/pve/0048-vma-don-t-use-O_DIRECT-on-pipes.patch @@ -1,15 +1,16 @@ -From 40846f73aea36b4ef66cce152321208f7d820222 Mon Sep 17 00:00:00 2001 +From a334b486692afc5b5b7ffb55b661c5a0ad2c75e2 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Thu, 30 Mar 2017 16:05:34 +0200 -Subject: [PATCH 48/48] vma: don't use O_DIRECT on pipes +Subject: [PATCH 48/49] vma: don't use O_DIRECT on pipes It puts them in packet mode which potentially discards data. +(since kernel 4.5) --- vma-writer.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/vma-writer.c b/vma-writer.c -index 70dcca0..9001cbd 100644 +index 70dcca0771..9001cbdd2b 100644 --- a/vma-writer.c +++ b/vma-writer.c @@ -283,9 +283,8 @@ VmaWriter *vma_writer_create(const char *filename, uuid_t uuid, Error **errp) @@ -47,5 +48,5 @@ index 70dcca0..9001cbd 100644 oflags = O_NONBLOCK|O_DIRECT|O_WRONLY|O_CREAT|O_EXCL; vmaw->fd = qemu_open(filename, oflags, 0644); -- -2.1.4 +2.11.0 diff --git a/debian/patches/pve/0049-block-zeroinit-request-child-permissions.patch b/debian/patches/pve/0049-block-zeroinit-request-child-permissions.patch index 2285706..999b093 100644 --- a/debian/patches/pve/0049-block-zeroinit-request-child-permissions.patch +++ b/debian/patches/pve/0049-block-zeroinit-request-child-permissions.patch @@ -1,4 +1,4 @@ -From 5445b96892a6350894ea3785f174157c4e7bbbaa Mon Sep 17 00:00:00 2001 +From e042ab947e3256e3a33f9fa5a21d8c01a667ff16 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Fri, 31 Mar 2017 09:27:58 +0200 Subject: [PATCH 49/49] block: zeroinit: request child permissions @@ -9,7 +9,7 @@ See d7010dfb685 1 file changed, 1 insertion(+) diff --git a/block/zeroinit.c b/block/zeroinit.c -index 0a8c7f9..a857ec3 100644 +index 0a8c7f9622..a857ec3c62 100644 --- a/block/zeroinit.c +++ b/block/zeroinit.c @@ -191,6 +191,7 @@ static BlockDriver bdrv_zeroinit = { @@ -21,5 +21,5 @@ index 0a8c7f9..a857ec3 100644 .bdrv_co_pwrite_zeroes = zeroinit_co_pwrite_zeroes, -- -2.1.4 +2.11.0 diff --git a/debian/patches/series b/debian/patches/series index e6fe8a7..8420bfc 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -47,3 +47,4 @@ pve/0046-convert-savevm-async-to-threads.patch pve/0047-glusterfs-allow-partial-reads.patch pve/0048-vma-don-t-use-O_DIRECT-on-pipes.patch pve/0049-block-zeroinit-request-child-permissions.patch +extra/0001-block-ignore-guest-dev-permissions-during-incoming-migration.patch diff --git a/qemu b/qemu index df90463..1fde6ee 160000 --- a/qemu +++ b/qemu @@ -1 +1 @@ -Subproject commit df9046363220e57d45818312759b954c033c58ab +Subproject commit 1fde6ee885d3e778acb326cab9f7037939839537