bump version to 2.9.0-1~rc3

master
Wolfgang Bumiller 2017-04-05 11:51:17 +02:00
parent a544966dce
commit 4516929316
54 changed files with 486 additions and 279 deletions

View File

@ -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

9
debian/changelog vendored
View File

@ -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 <support@proxmox.com> 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

View File

@ -0,0 +1,196 @@
From qemu-devel-bounces+w.bumiller=proxmox.com@nongnu.org Wed Apr 5 08:57:05 2017
Return-Path: <qemu-devel-bounces+w.bumiller=proxmox.com@nongnu.org>
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 <w.bumiller@proxmox.com>; 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 <w.bumiller@proxmox.com>; 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 <w.bumiller@proxmox.com>; 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 <qemu-devel-bounces+w.bumiller=proxmox.com@nongnu.org>) 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 <kwolf@redhat.com>) 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 <kwolf@redhat.com>) 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 <kwolf@redhat.com>) 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 <kwolf@redhat.com>
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: <qemu-devel.nongnu.org>
List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>
List-Archive: <http://lists.nongnu.org/archive/html/qemu-devel/>
List-Post: <mailto:qemu-devel@nongnu.org>
List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help>
List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=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" <qemu-devel-bounces+w.bumiller=proxmox.com@nongnu.org>
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 <kwolf@redhat.com>
---
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <dietmar@proxmox.com>
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 <dietmar@proxmox.com>
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

View File

@ -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 <dietmar@proxmox.com>
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 <dietmar@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <aderumier@odiso.com>
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 <aderumier@odiso.com>
---
@ -9,7 +9,7 @@ Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <t.lamprecht@proxmox.com>
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

View File

@ -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 <t.lamprecht@proxmox.com>
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

View File

@ -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 <t.lamprecht@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <aderumier@odiso.com>
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 <aderumier@odiso.com>
@ -10,10 +10,10 @@ Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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 <aderumier@odiso.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <aderumier@odiso.com>
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 <aderumier@odiso.com>
---
@ -9,7 +9,7 @@ Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <aderumier@odiso.com>
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 <aderumier@odiso.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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 <w.bumiller@proxmox.com>
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

View File

@ -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

2
qemu

@ -1 +1 @@
Subproject commit df9046363220e57d45818312759b954c033c58ab
Subproject commit 1fde6ee885d3e778acb326cab9f7037939839537