8dca018b68
Mostly minor changes, bigger ones summarized: * QEMU's internal backup code now uses a new async system, which allows parallel requests - the default max_workers settings is 64, I chose less, since 64 put enough stress on QEMU that the guest became practically unusable during the backup, and 16 still shows quite a nice measureable performance improvement. Little code changes for us though. * 'malformed' QAPI parameters/functions are now a build error (i.e. using '_' vs '-'), I chose to just whitelist our calls in the name of backwards compatibility. * monitor OOB race fix now uses the upstream variant, cherry-picked from origin/master since it's not in 6.0 by default * last patch fixes a bug with snapshot rollback related to the new yank system Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
|
Date: Mon, 6 Apr 2020 12:16:36 +0200
|
|
Subject: [PATCH] PVE: [Config] rbd: block: rbd: disable
|
|
rbd_cache_writethrough_until_flush
|
|
|
|
Either the cache mode asks for a cache or not. There's no
|
|
point in having a "temporary" cache mode. This option AFAIK
|
|
was introduced as a hack for ancient virtio drivers. If
|
|
anything, we should have a separate option for it. Better
|
|
yet, VMs affected by the related issue should simply
|
|
explicitly choose writethrough.
|
|
|
|
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
|
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|
---
|
|
block/rbd.c | 2 ++
|
|
1 file changed, 2 insertions(+)
|
|
|
|
diff --git a/block/rbd.c b/block/rbd.c
|
|
index f098a89c7b..b691c32c70 100644
|
|
--- a/block/rbd.c
|
|
+++ b/block/rbd.c
|
|
@@ -610,6 +610,8 @@ static int qemu_rbd_connect(rados_t *cluster, rados_ioctx_t *io_ctx,
|
|
rados_conf_set(*cluster, "rbd_cache", "false");
|
|
}
|
|
|
|
+ rados_conf_set(*cluster, "rbd_cache_writethrough_until_flush", "false");
|
|
+
|
|
r = rados_connect(*cluster);
|
|
if (r < 0) {
|
|
error_setg_errno(errp, -r, "error connecting");
|