All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/3] migration queue
@ 2018-10-31 16:57 Dr. David Alan Gilbert (git)
  2018-10-31 16:57 ` [Qemu-devel] [PULL 1/3] COLO: Fix Colo doc secondeary should be secondary Dr. David Alan Gilbert (git)
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-10-31 16:57 UTC (permalink / raw)
  To: qemu-devel, quintela

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

The following changes since commit a2e002ff7913ce93aa0f7dbedd2123dce5f1a9cd:

  Merge remote-tracking branch 'remotes/vivier2/tags/qemu-trivial-for-3.1-pull-request' into staging (2018-10-30 15:49:55 +0000)

are available in the Git repository at:

  git://github.com/dagrh/qemu.git tags/pull-migration-20181031a

for you to fetch changes up to 3d63da16fbcd05405efd5946000cdb45474a9bad:

  migration: avoid segmentfault when take a snapshot of a VM which being migrated (2018-10-31 09:38:59 +0000)

----------------------------------------------------------------
Minor migration fixes 2018-10-31

----------------------------------------------------------------
Jia Lina (1):
      migration: avoid segmentfault when take a snapshot of a VM which being migrated

Zhang Chen (1):
      qapi: Fix COLOStatus and query-colo-status since version

wangguang (1):
      COLO: Fix Colo doc secondeary should be secondary

 docs/COLO-FT.txt      |  2 +-
 migration/migration.c |  2 +-
 migration/migration.h |  2 ++
 migration/savevm.c    | 19 +++++++++++--------
 qapi/migration.json   |  4 ++--
 5 files changed, 17 insertions(+), 12 deletions(-)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PULL 1/3] COLO: Fix Colo doc secondeary should be secondary
  2018-10-31 16:57 [Qemu-devel] [PULL 0/3] migration queue Dr. David Alan Gilbert (git)
@ 2018-10-31 16:57 ` Dr. David Alan Gilbert (git)
  2018-10-31 16:57 ` [Qemu-devel] [PULL 2/3] qapi: Fix COLOStatus and query-colo-status since version Dr. David Alan Gilbert (git)
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-10-31 16:57 UTC (permalink / raw)
  To: qemu-devel, quintela

From: wangguang <wang.guang55@zte.com.cn>

Signed-off-by: Guang Wang <wang.guang55@zte.com.cn>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 docs/COLO-FT.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/COLO-FT.txt b/docs/COLO-FT.txt
index 6302469d0e..e2686bb338 100644
--- a/docs/COLO-FT.txt
+++ b/docs/COLO-FT.txt
@@ -173,7 +173,7 @@ Secondary:
 { 'execute': 'nbd-server-start',
   'arguments': {'addr': {'type': 'inet', 'data': {'host': 'xx.xx.xx.xx', 'port': '8889'} } }
 }
-{'execute': 'nbd-server-add', 'arguments': {'device': 'secondeary-disk0', 'writable': true } }
+{'execute': 'nbd-server-add', 'arguments': {'device': 'secondary-disk0', 'writable': true } }
 
 Note:
   a. The qmp command nbd-server-start and nbd-server-add must be run
-- 
2.19.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PULL 2/3] qapi: Fix COLOStatus and query-colo-status since version
  2018-10-31 16:57 [Qemu-devel] [PULL 0/3] migration queue Dr. David Alan Gilbert (git)
  2018-10-31 16:57 ` [Qemu-devel] [PULL 1/3] COLO: Fix Colo doc secondeary should be secondary Dr. David Alan Gilbert (git)
@ 2018-10-31 16:57 ` Dr. David Alan Gilbert (git)
  2018-10-31 16:57 ` [Qemu-devel] [PULL 3/3] migration: avoid segmentfault when take a snapshot of a VM which being migrated Dr. David Alan Gilbert (git)
  2018-11-02 10:52 ` [Qemu-devel] [PULL 0/3] migration queue Peter Maydell
  3 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-10-31 16:57 UTC (permalink / raw)
  To: qemu-devel, quintela

From: Zhang Chen <zhangckid@gmail.com>

This structure and command have missed qemu version 3.0, so fix it to since version 3.1.

Signed-off-by: Zhang Chen <zhangckid@gmail.com>
Message-Id: <20181022164118.5502-1-zhangckid@gmail.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 qapi/migration.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/qapi/migration.json b/qapi/migration.json
index 0928f4b727..38d4c41d88 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -1317,7 +1317,7 @@
 #
 # @reason: describes the reason for the COLO exit.
 #
-# Since: 3.0
+# Since: 3.1
 ##
 { 'struct': 'COLOStatus',
   'data': { 'mode': 'COLOMode', 'reason': 'COLOExitReason' } }
@@ -1334,7 +1334,7 @@
 # -> { "execute": "query-colo-status" }
 # <- { "return": { "mode": "primary", "active": true, "reason": "request" } }
 #
-# Since: 3.0
+# Since: 3.1
 ##
 { 'command': 'query-colo-status',
   'returns': 'COLOStatus' }
-- 
2.19.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PULL 3/3] migration: avoid segmentfault when take a snapshot of a VM which being migrated
  2018-10-31 16:57 [Qemu-devel] [PULL 0/3] migration queue Dr. David Alan Gilbert (git)
  2018-10-31 16:57 ` [Qemu-devel] [PULL 1/3] COLO: Fix Colo doc secondeary should be secondary Dr. David Alan Gilbert (git)
  2018-10-31 16:57 ` [Qemu-devel] [PULL 2/3] qapi: Fix COLOStatus and query-colo-status since version Dr. David Alan Gilbert (git)
@ 2018-10-31 16:57 ` Dr. David Alan Gilbert (git)
  2018-11-02 10:52 ` [Qemu-devel] [PULL 0/3] migration queue Peter Maydell
  3 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2018-10-31 16:57 UTC (permalink / raw)
  To: qemu-devel, quintela

From: Jia Lina <jialina01@baidu.com>

During an active background migration, snapshot will trigger a
segmentfault. As snapshot clears the "current_migration" struct
and updates "to_dst_file" before it finds out that there is a
migration task, Migration accesses the null pointer in
"current_migration" struct and qemu crashes eventually.

Signed-off-by: Jia Lina <jialina01@baidu.com>
Signed-off-by: Chai Wen <chaiwen@baidu.com>
Signed-off-by: Zhang Yu <zhangyu31@baidu.com>
Message-Id: <20181026083620.10172-1-jialina01@baidu.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 migration/migration.c |  2 +-
 migration/migration.h |  2 ++
 migration/savevm.c    | 19 +++++++++++--------
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/migration/migration.c b/migration/migration.c
index 8b36e7f184..b261c1e4ce 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -742,7 +742,7 @@ MigrationParameters *qmp_query_migrate_parameters(Error **errp)
  * Return true if we're already in the middle of a migration
  * (i.e. any of the active or setup states)
  */
-static bool migration_is_setup_or_active(int state)
+bool migration_is_setup_or_active(int state)
 {
     switch (state) {
     case MIGRATION_STATUS_ACTIVE:
diff --git a/migration/migration.h b/migration/migration.h
index f7813f8261..e413d4d8b6 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -241,6 +241,8 @@ void migrate_fd_error(MigrationState *s, const Error *error);
 
 void migrate_fd_connect(MigrationState *s, Error *error_in);
 
+bool migration_is_setup_or_active(int state);
+
 void migrate_init(MigrationState *s);
 bool migration_is_blocked(Error **errp);
 /* True if outgoing migration has entered postcopy phase */
diff --git a/migration/savevm.c b/migration/savevm.c
index 9992af4db4..ef707b8c43 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1327,21 +1327,25 @@ static int qemu_savevm_state(QEMUFile *f, Error **errp)
     MigrationState *ms = migrate_get_current();
     MigrationStatus status;
 
-    migrate_init(ms);
-
-    ms->to_dst_file = f;
+    if (migration_is_setup_or_active(ms->state) ||
+        ms->state == MIGRATION_STATUS_CANCELLING ||
+        ms->state == MIGRATION_STATUS_COLO) {
+        error_setg(errp, QERR_MIGRATION_ACTIVE);
+        return -EINVAL;
+    }
 
     if (migration_is_blocked(errp)) {
-        ret = -EINVAL;
-        goto done;
+        return -EINVAL;
     }
 
     if (migrate_use_block()) {
         error_setg(errp, "Block migration and snapshots are incompatible");
-        ret = -EINVAL;
-        goto done;
+        return -EINVAL;
     }
 
+    migrate_init(ms);
+    ms->to_dst_file = f;
+
     qemu_mutex_unlock_iothread();
     qemu_savevm_state_header(f);
     qemu_savevm_state_setup(f);
@@ -1363,7 +1367,6 @@ static int qemu_savevm_state(QEMUFile *f, Error **errp)
         error_setg_errno(errp, -ret, "Error while writing VM state");
     }
 
-done:
     if (ret != 0) {
         status = MIGRATION_STATUS_FAILED;
     } else {
-- 
2.19.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PULL 0/3] migration queue
  2018-10-31 16:57 [Qemu-devel] [PULL 0/3] migration queue Dr. David Alan Gilbert (git)
                   ` (2 preceding siblings ...)
  2018-10-31 16:57 ` [Qemu-devel] [PULL 3/3] migration: avoid segmentfault when take a snapshot of a VM which being migrated Dr. David Alan Gilbert (git)
@ 2018-11-02 10:52 ` Peter Maydell
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2018-11-02 10:52 UTC (permalink / raw)
  To: Dr. David Alan Gilbert (git); +Cc: QEMU Developers, Juan Quintela

On 31 October 2018 at 16:57, Dr. David Alan Gilbert (git)
<dgilbert@redhat.com> wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> The following changes since commit a2e002ff7913ce93aa0f7dbedd2123dce5f1a9cd:
>
>   Merge remote-tracking branch 'remotes/vivier2/tags/qemu-trivial-for-3.1-pull-request' into staging (2018-10-30 15:49:55 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/dagrh/qemu.git tags/pull-migration-20181031a
>
> for you to fetch changes up to 3d63da16fbcd05405efd5946000cdb45474a9bad:
>
>   migration: avoid segmentfault when take a snapshot of a VM which being migrated (2018-10-31 09:38:59 +0000)
>
> ----------------------------------------------------------------
> Minor migration fixes 2018-10-31
>
> ----------------------------------------------------------------

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-11-02 10:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-31 16:57 [Qemu-devel] [PULL 0/3] migration queue Dr. David Alan Gilbert (git)
2018-10-31 16:57 ` [Qemu-devel] [PULL 1/3] COLO: Fix Colo doc secondeary should be secondary Dr. David Alan Gilbert (git)
2018-10-31 16:57 ` [Qemu-devel] [PULL 2/3] qapi: Fix COLOStatus and query-colo-status since version Dr. David Alan Gilbert (git)
2018-10-31 16:57 ` [Qemu-devel] [PULL 3/3] migration: avoid segmentfault when take a snapshot of a VM which being migrated Dr. David Alan Gilbert (git)
2018-11-02 10:52 ` [Qemu-devel] [PULL 0/3] migration queue Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.