* Fri Mar 15 2019 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-19.el8
- kvm-migration-Fix-cancel-state.patch [bz#1608649] - kvm-migration-rdma-Fix-qemu_rdma_cleanup-null-check.patch [bz#1608649] - Resolves: bz#1608649 (Query-migrate get "failed" status after migrate-cancel)
This commit is contained in:
parent
5a65f82232
commit
b1acd1afc1
75
kvm-migration-Fix-cancel-state.patch
Normal file
75
kvm-migration-Fix-cancel-state.patch
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
From 31566a415b69d58fdf09f05e362685fcc3aee00b Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
Date: Thu, 7 Mar 2019 12:26:21 +0000
|
||||||
|
Subject: [PATCH 1/2] migration: Fix cancel state
|
||||||
|
|
||||||
|
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-id: <20190307122622.9387-2-dgilbert@redhat.com>
|
||||||
|
Patchwork-id: 84820
|
||||||
|
O-Subject: [RHEL-8.0 qemu-kvm AV PATCH 1/2] migration: Fix cancel state
|
||||||
|
Bugzilla: 1608649
|
||||||
|
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||||
|
RH-Acked-by: Peter Xu <peterx@redhat.com>
|
||||||
|
RH-Acked-by: Pankaj Gupta <pagupta@redhat.com>
|
||||||
|
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
|
||||||
|
During a cancelled migration there's a race where the fd can
|
||||||
|
go into an error state before we get back around the migration loop
|
||||||
|
and migration_detect_error transitions from cancelling->failed.
|
||||||
|
|
||||||
|
Check for cancelled/cancelling and don't change the state.
|
||||||
|
|
||||||
|
Red Hat bug: https://bugzilla.redhat.com/show_bug.cgi?id=1608649
|
||||||
|
|
||||||
|
Fixes: b23c2ade250
|
||||||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-Id: <20190219195928.12289-1-dgilbert@redhat.com>
|
||||||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Reviewed-by: Peter Xu <peterx@redhat.com>
|
||||||
|
Reviewed-by: Juan Quintela <quintela@redhat.com>
|
||||||
|
(cherry picked from commit c3c5eae6ac69d9f7d4618407aa6c8ac5edc2267c)
|
||||||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||||
|
---
|
||||||
|
migration/migration.c | 11 +++++++++--
|
||||||
|
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/migration/migration.c b/migration/migration.c
|
||||||
|
index 0d9cb7a..ecdf01d 100644
|
||||||
|
--- a/migration/migration.c
|
||||||
|
+++ b/migration/migration.c
|
||||||
|
@@ -2824,6 +2824,13 @@ static MigThrError postcopy_pause(MigrationState *s)
|
||||||
|
static MigThrError migration_detect_error(MigrationState *s)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
+ int state = s->state;
|
||||||
|
+
|
||||||
|
+ if (state == MIGRATION_STATUS_CANCELLING ||
|
||||||
|
+ state == MIGRATION_STATUS_CANCELLED) {
|
||||||
|
+ /* End the migration, but don't set the state to failed */
|
||||||
|
+ return MIG_THR_ERR_FATAL;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* Try to detect any file errors */
|
||||||
|
ret = qemu_file_get_error(s->to_dst_file);
|
||||||
|
@@ -2833,7 +2840,7 @@ static MigThrError migration_detect_error(MigrationState *s)
|
||||||
|
return MIG_THR_ERR_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (s->state == MIGRATION_STATUS_POSTCOPY_ACTIVE && ret == -EIO) {
|
||||||
|
+ if (state == MIGRATION_STATUS_POSTCOPY_ACTIVE && ret == -EIO) {
|
||||||
|
/*
|
||||||
|
* For postcopy, we allow the network to be down for a
|
||||||
|
* while. After that, it can be continued by a
|
||||||
|
@@ -2845,7 +2852,7 @@ static MigThrError migration_detect_error(MigrationState *s)
|
||||||
|
* For precopy (or postcopy with error outside IO), we fail
|
||||||
|
* with no time.
|
||||||
|
*/
|
||||||
|
- migrate_set_state(&s->state, s->state, MIGRATION_STATUS_FAILED);
|
||||||
|
+ migrate_set_state(&s->state, state, MIGRATION_STATUS_FAILED);
|
||||||
|
trace_migration_thread_file_err();
|
||||||
|
|
||||||
|
/* Time to stop the migration, now. */
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
54
kvm-migration-rdma-Fix-qemu_rdma_cleanup-null-check.patch
Normal file
54
kvm-migration-rdma-Fix-qemu_rdma_cleanup-null-check.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
From aa5367b5e81cdc3cc3dc8dbc31daef6acecc1f97 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
Date: Thu, 7 Mar 2019 12:26:22 +0000
|
||||||
|
Subject: [PATCH 2/2] migration/rdma: Fix qemu_rdma_cleanup null check
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-id: <20190307122622.9387-3-dgilbert@redhat.com>
|
||||||
|
Patchwork-id: 84819
|
||||||
|
O-Subject: [RHEL-8.0 qemu-kvm AV PATCH 2/2] migration/rdma: Fix qemu_rdma_cleanup null check
|
||||||
|
Bugzilla: 1608649
|
||||||
|
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||||||
|
RH-Acked-by: Peter Xu <peterx@redhat.com>
|
||||||
|
RH-Acked-by: Pankaj Gupta <pagupta@redhat.com>
|
||||||
|
|
||||||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||||||
|
|
||||||
|
If the migration fails before the channel is open (e.g. a bad
|
||||||
|
address) we end up in the cleanup with rdma->channel==NULL.
|
||||||
|
|
||||||
|
Spotted by Coverity: CID 1398634
|
||||||
|
Fixes: fbbaacab2758cb3f32a0
|
||||||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Message-Id: <20190214185351.5927-1-dgilbert@redhat.com>
|
||||||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||||
|
Reviewed-by: Peter Xu <peterx@redhat.com>
|
||||||
|
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
(cherry picked from commit cf75e2684938413f0bbe95f5a4b7db5c845e42c8)
|
||||||
|
|
||||||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||||
|
---
|
||||||
|
migration/rdma.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/migration/rdma.c b/migration/rdma.c
|
||||||
|
index 54a3c11..9fa3b17 100644
|
||||||
|
--- a/migration/rdma.c
|
||||||
|
+++ b/migration/rdma.c
|
||||||
|
@@ -2321,7 +2321,9 @@ static void qemu_rdma_cleanup(RDMAContext *rdma)
|
||||||
|
rdma->connected = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- qemu_set_fd_handler(rdma->channel->fd, NULL, NULL, NULL);
|
||||||
|
+ if (rdma->channel) {
|
||||||
|
+ qemu_set_fd_handler(rdma->channel->fd, NULL, NULL, NULL);
|
||||||
|
+ }
|
||||||
|
g_free(rdma->dest_blocks);
|
||||||
|
rdma->dest_blocks = NULL;
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -68,7 +68,7 @@ Obsoletes: %1-rhev
|
|||||||
Summary: QEMU is a machine emulator and virtualizer
|
Summary: QEMU is a machine emulator and virtualizer
|
||||||
Name: qemu-kvm
|
Name: qemu-kvm
|
||||||
Version: 3.1.0
|
Version: 3.1.0
|
||||||
Release: 18%{?dist}
|
Release: 19%{?dist}
|
||||||
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
||||||
Epoch: 15
|
Epoch: 15
|
||||||
License: GPLv2 and GPLv2+ and CC-BY
|
License: GPLv2 and GPLv2+ and CC-BY
|
||||||
@ -216,6 +216,10 @@ Patch64: kvm-i386-remove-the-new-CPUID-PCONFIG-from-Icelake-Serve.patch
|
|||||||
Patch65: kvm-i386-remove-the-INTEL_PT-CPUID-bit-from-named-CPU-mo.patch
|
Patch65: kvm-i386-remove-the-INTEL_PT-CPUID-bit-from-named-CPU-mo.patch
|
||||||
# For bz#1661515 - Remove PCONFIG and INTEL_PT from Icelake-* CPU models
|
# For bz#1661515 - Remove PCONFIG and INTEL_PT from Icelake-* CPU models
|
||||||
Patch66: kvm-Revert-i386-Add-CPUID-bit-for-PCONFIG.patch
|
Patch66: kvm-Revert-i386-Add-CPUID-bit-for-PCONFIG.patch
|
||||||
|
# For bz#1608649 - Query-migrate get "failed" status after migrate-cancel
|
||||||
|
Patch67: kvm-migration-Fix-cancel-state.patch
|
||||||
|
# For bz#1608649 - Query-migrate get "failed" status after migrate-cancel
|
||||||
|
Patch68: kvm-migration-rdma-Fix-qemu_rdma_cleanup-null-check.patch
|
||||||
|
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
BuildRequires: glib2-devel
|
BuildRequires: glib2-devel
|
||||||
@ -1108,6 +1112,12 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Mar 15 2019 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-19.el8
|
||||||
|
- kvm-migration-Fix-cancel-state.patch [bz#1608649]
|
||||||
|
- kvm-migration-rdma-Fix-qemu_rdma_cleanup-null-check.patch [bz#1608649]
|
||||||
|
- Resolves: bz#1608649
|
||||||
|
(Query-migrate get "failed" status after migrate-cancel)
|
||||||
|
|
||||||
* Tue Feb 26 2019 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-18.el8
|
* Tue Feb 26 2019 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-18.el8
|
||||||
- kvm-target-i386-Disable-MPX-support-on-named-CPU-models.patch [bz#1661030]
|
- kvm-target-i386-Disable-MPX-support-on-named-CPU-models.patch [bz#1661030]
|
||||||
- kvm-i386-remove-the-new-CPUID-PCONFIG-from-Icelake-Serve.patch [bz#1661515]
|
- kvm-i386-remove-the-new-CPUID-PCONFIG-from-Icelake-Serve.patch [bz#1661515]
|
||||||
|
Loading…
Reference in New Issue
Block a user