* [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues
@ 2019-01-13 14:08 Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 1/5] Fix segmentation fault when qemu_signal_init fails Fei Li
` (5 more replies)
0 siblings, 6 replies; 11+ messages in thread
From: Fei Li @ 2019-01-13 14:08 UTC (permalink / raw)
To: qemu-devel, shirley17fei; +Cc: Fei Li
All these five patches have gotten the Reviewed-by: the first patch
is to fix one segmentation fault and the other four are to fix some
migration issues.
To be more detail, they are extracted from previous
"[PATCH for-4.0 v9 16/16] qemu_thread_create: propagate errors to
callers to handle.", but actually these five patches are derivative
and not relevant to the mentioned qemu_thread_create patch series.
Thus send them separately to make them be merged earlier.
Fei Li (5):
Fix segmentation fault when qemu_signal_init fails
migration: fix the multifd code when receiving less channels
migration: multifd_save_cleanup() can't fail, simplify
migration: add more error handling for postcopy_ram_enable_notify
migration: unify error handling for process_incoming_migration_co
migration/channel.c | 11 ++++++-----
migration/migration.c | 40 +++++++++++++++++++++-------------------
migration/migration.h | 2 +-
migration/postcopy-ram.c | 1 +
migration/ram.c | 28 ++++++++++++++++++----------
migration/ram.h | 4 ++--
migration/savevm.c | 1 +
util/main-loop.c | 8 ++++----
8 files changed, 54 insertions(+), 41 deletions(-)
--
2.17.2 (Apple Git-113)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH for-4.0 1/5] Fix segmentation fault when qemu_signal_init fails
2019-01-13 14:08 [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
@ 2019-01-13 14:08 ` Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 2/5] migration: fix the multifd code when receiving less channels Fei Li
` (4 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Fei Li @ 2019-01-13 14:08 UTC (permalink / raw)
To: qemu-devel, shirley17fei; +Cc: Fei Li, Paolo Bonzini
From: Fei Li <fli@suse.com>
When qemu_signal_init() fails in qemu_init_main_loop(), we return
without setting an error. Its callers crash then when they try to
report the error with error_report_err().
To avoid such segmentation fault, add a new Error parameter to make
the call trace to propagate the err to the final caller.
Fixes: 2f78e491d7b46542158ce0b8132ee4e05bc0ade4
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Fei Li <fli@suse.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
---
util/main-loop.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/util/main-loop.c b/util/main-loop.c
index affe0403c5..443cb4cfe8 100644
--- a/util/main-loop.c
+++ b/util/main-loop.c
@@ -71,7 +71,7 @@ static void sigfd_handler(void *opaque)
}
}
-static int qemu_signal_init(void)
+static int qemu_signal_init(Error **errp)
{
int sigfd;
sigset_t set;
@@ -96,7 +96,7 @@ static int qemu_signal_init(void)
sigdelset(&set, SIG_IPI);
sigfd = qemu_signalfd(&set);
if (sigfd == -1) {
- fprintf(stderr, "failed to create signalfd\n");
+ error_setg_errno(errp, errno, "failed to create signalfd");
return -errno;
}
@@ -109,7 +109,7 @@ static int qemu_signal_init(void)
#else /* _WIN32 */
-static int qemu_signal_init(void)
+static int qemu_signal_init(Error **errp)
{
return 0;
}
@@ -148,7 +148,7 @@ int qemu_init_main_loop(Error **errp)
init_clocks(qemu_timer_notify_cb);
- ret = qemu_signal_init();
+ ret = qemu_signal_init(errp);
if (ret) {
return ret;
}
--
2.17.2 (Apple Git-113)
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH for-4.0 2/5] migration: fix the multifd code when receiving less channels
2019-01-13 14:08 [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 1/5] Fix segmentation fault when qemu_signal_init fails Fei Li
@ 2019-01-13 14:08 ` Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 3/5] migration: multifd_save_cleanup() can't fail, simplify Fei Li
` (3 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Fei Li @ 2019-01-13 14:08 UTC (permalink / raw)
To: qemu-devel, shirley17fei
Cc: Fei Li, Dr . David Alan Gilbert, Peter Xu, Markus Armbruster
From: Fei Li <fli@suse.com>
In our current code, when multifd is used during migration, if there
is an error before the destination receives all new channels, the
source keeps running, however the destination does not exit but keeps
waiting until the source is killed deliberately.
Fix this by dumping the specific error and let users decide whether
to quit from the destination side when failing to receive packet via
some channel. And update the comment for multifd_recv_new_channel().
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Fei Li <fli@suse.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
---
migration/channel.c | 11 ++++++-----
migration/migration.c | 9 +++++++--
migration/migration.h | 2 +-
migration/ram.c | 17 ++++++++++++++---
migration/ram.h | 2 +-
5 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/migration/channel.c b/migration/channel.c
index 33e0e9b82f..20e4c8e2dc 100644
--- a/migration/channel.c
+++ b/migration/channel.c
@@ -30,6 +30,7 @@
void migration_channel_process_incoming(QIOChannel *ioc)
{
MigrationState *s = migrate_get_current();
+ Error *local_err = NULL;
trace_migration_set_incoming_channel(
ioc, object_get_typename(OBJECT(ioc)));
@@ -38,13 +39,13 @@ void migration_channel_process_incoming(QIOChannel *ioc)
*s->parameters.tls_creds &&
!object_dynamic_cast(OBJECT(ioc),
TYPE_QIO_CHANNEL_TLS)) {
- Error *local_err = NULL;
migration_tls_channel_process_incoming(s, ioc, &local_err);
- if (local_err) {
- error_report_err(local_err);
- }
} else {
- migration_ioc_process_incoming(ioc);
+ migration_ioc_process_incoming(ioc, &local_err);
+ }
+
+ if (local_err) {
+ error_report_err(local_err);
}
}
diff --git a/migration/migration.c b/migration/migration.c
index ffc4d9e556..24cb4b9d0d 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -541,7 +541,7 @@ void migration_fd_process_incoming(QEMUFile *f)
migration_incoming_process();
}
-void migration_ioc_process_incoming(QIOChannel *ioc)
+void migration_ioc_process_incoming(QIOChannel *ioc, Error **errp)
{
MigrationIncomingState *mis = migration_incoming_get_current();
bool start_migration;
@@ -563,9 +563,14 @@ void migration_ioc_process_incoming(QIOChannel *ioc)
*/
start_migration = !migrate_use_multifd();
} else {
+ Error *local_err = NULL;
/* Multiple connections */
assert(migrate_use_multifd());
- start_migration = multifd_recv_new_channel(ioc);
+ start_migration = multifd_recv_new_channel(ioc, &local_err);
+ if (local_err) {
+ error_propagate(errp, local_err);
+ return;
+ }
}
if (start_migration) {
diff --git a/migration/migration.h b/migration/migration.h
index e413d4d8b6..02b7304610 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -229,7 +229,7 @@ struct MigrationState
void migrate_set_state(int *state, int old_state, int new_state);
void migration_fd_process_incoming(QEMUFile *f);
-void migration_ioc_process_incoming(QIOChannel *ioc);
+void migration_ioc_process_incoming(QIOChannel *ioc, Error **errp);
void migration_incoming_process(void);
bool migration_has_all_channels(void);
diff --git a/migration/ram.c b/migration/ram.c
index 1849979fed..47c7ab2229 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1322,8 +1322,13 @@ bool multifd_recv_all_channels_created(void)
return thread_count == atomic_read(&multifd_recv_state->count);
}
-/* Return true if multifd is ready for the migration, otherwise false */
-bool multifd_recv_new_channel(QIOChannel *ioc)
+/*
+ * Try to receive all multifd channels to get ready for the migration.
+ * - Return true and do not set @errp when correctly receving all channels;
+ * - Return false and do not set @errp when correctly receiving the current one;
+ * - Return false and set @errp when failing to receive the current channel.
+ */
+bool multifd_recv_new_channel(QIOChannel *ioc, Error **errp)
{
MultiFDRecvParams *p;
Error *local_err = NULL;
@@ -1332,6 +1337,10 @@ bool multifd_recv_new_channel(QIOChannel *ioc)
id = multifd_recv_initial_packet(ioc, &local_err);
if (id < 0) {
multifd_recv_terminate_threads(local_err);
+ error_propagate_prepend(errp, local_err,
+ "failed to receive packet"
+ " via multifd channel %d: ",
+ atomic_read(&multifd_recv_state->count));
return false;
}
@@ -1340,6 +1349,7 @@ bool multifd_recv_new_channel(QIOChannel *ioc)
error_setg(&local_err, "multifd: received id '%d' already setup'",
id);
multifd_recv_terminate_threads(local_err);
+ error_propagate(errp, local_err);
return false;
}
p->c = ioc;
@@ -1351,7 +1361,8 @@ bool multifd_recv_new_channel(QIOChannel *ioc)
qemu_thread_create(&p->thread, p->name, multifd_recv_thread, p,
QEMU_THREAD_JOINABLE);
atomic_inc(&multifd_recv_state->count);
- return multifd_recv_state->count == migrate_multifd_channels();
+ return atomic_read(&multifd_recv_state->count) ==
+ migrate_multifd_channels();
}
/**
diff --git a/migration/ram.h b/migration/ram.h
index 83ff1bc11a..046d3074be 100644
--- a/migration/ram.h
+++ b/migration/ram.h
@@ -47,7 +47,7 @@ int multifd_save_cleanup(Error **errp);
int multifd_load_setup(void);
int multifd_load_cleanup(Error **errp);
bool multifd_recv_all_channels_created(void);
-bool multifd_recv_new_channel(QIOChannel *ioc);
+bool multifd_recv_new_channel(QIOChannel *ioc, Error **errp);
uint64_t ram_pagesize_summary(void);
int ram_save_queue_pages(const char *rbname, ram_addr_t start, ram_addr_t len);
--
2.17.2 (Apple Git-113)
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH for-4.0 3/5] migration: multifd_save_cleanup() can't fail, simplify
2019-01-13 14:08 [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 1/5] Fix segmentation fault when qemu_signal_init fails Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 2/5] migration: fix the multifd code when receiving less channels Fei Li
@ 2019-01-13 14:08 ` Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 4/5] migration: add more error handling for postcopy_ram_enable_notify Fei Li
` (2 subsequent siblings)
5 siblings, 0 replies; 11+ messages in thread
From: Fei Li @ 2019-01-13 14:08 UTC (permalink / raw)
To: qemu-devel, shirley17fei
Cc: Fei Li, Dr . David Alan Gilbert, Markus Armbruster
From: Fei Li <fli@suse.com>
multifd_save_cleanup() takes an Error ** argument and returns an
error code even though it can't actually fail. Its callers
dutifully check for failure. Remove the useless argument and return
value, and simplify the callers.
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Fei Li <fli@suse.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
---
migration/migration.c | 5 +----
migration/ram.c | 11 ++++-------
migration/ram.h | 2 +-
3 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index 24cb4b9d0d..5d322eb9d6 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1386,7 +1386,6 @@ static void migrate_fd_cleanup(void *opaque)
qemu_savevm_state_cleanup();
if (s->to_dst_file) {
- Error *local_err = NULL;
QEMUFile *tmp;
trace_migrate_fd_cleanup();
@@ -1397,9 +1396,7 @@ static void migrate_fd_cleanup(void *opaque)
}
qemu_mutex_lock_iothread();
- if (multifd_save_cleanup(&local_err) != 0) {
- error_report_err(local_err);
- }
+ multifd_save_cleanup();
qemu_mutex_lock(&s->qemu_file_lock);
tmp = s->to_dst_file;
s->to_dst_file = NULL;
diff --git a/migration/ram.c b/migration/ram.c
index 47c7ab2229..43c2b442af 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -917,13 +917,12 @@ static void multifd_send_terminate_threads(Error *err)
}
}
-int multifd_save_cleanup(Error **errp)
+void multifd_save_cleanup(void)
{
int i;
- int ret = 0;
if (!migrate_use_multifd()) {
- return 0;
+ return;
}
multifd_send_terminate_threads(NULL);
for (i = 0; i < migrate_multifd_channels(); i++) {
@@ -953,7 +952,6 @@ int multifd_save_cleanup(Error **errp)
multifd_send_state->pages = NULL;
g_free(multifd_send_state);
multifd_send_state = NULL;
- return ret;
}
static void multifd_send_sync_main(void)
@@ -1071,9 +1069,8 @@ static void multifd_new_send_channel_async(QIOTask *task, gpointer opaque)
Error *local_err = NULL;
if (qio_task_propagate_error(task, &local_err)) {
- if (multifd_save_cleanup(&local_err) != 0) {
- migrate_set_error(migrate_get_current(), local_err);
- }
+ migrate_set_error(migrate_get_current(), local_err);
+ multifd_save_cleanup();
} else {
p->c = QIO_CHANNEL(sioc);
qio_channel_set_delay(p->c, false);
diff --git a/migration/ram.h b/migration/ram.h
index 046d3074be..936177b3e9 100644
--- a/migration/ram.h
+++ b/migration/ram.h
@@ -43,7 +43,7 @@ uint64_t ram_bytes_remaining(void);
uint64_t ram_bytes_total(void);
int multifd_save_setup(void);
-int multifd_save_cleanup(Error **errp);
+void multifd_save_cleanup(void);
int multifd_load_setup(void);
int multifd_load_cleanup(Error **errp);
bool multifd_recv_all_channels_created(void);
--
2.17.2 (Apple Git-113)
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH for-4.0 4/5] migration: add more error handling for postcopy_ram_enable_notify
2019-01-13 14:08 [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
` (2 preceding siblings ...)
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 3/5] migration: multifd_save_cleanup() can't fail, simplify Fei Li
@ 2019-01-13 14:08 ` Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 5/5] migration: unify error handling for process_incoming_migration_co Fei Li
2019-01-16 4:50 ` [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
5 siblings, 0 replies; 11+ messages in thread
From: Fei Li @ 2019-01-13 14:08 UTC (permalink / raw)
To: qemu-devel, shirley17fei; +Cc: Fei Li, Dr . David Alan Gilbert
From: Fei Li <fli@suse.com>
Call postcopy_ram_incoming_cleanup() to do the cleanup when
postcopy_ram_enable_notify fails. Besides, report the error
message when qemu_ram_foreach_migratable_block() fails.
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Fei Li <fli@suse.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
migration/postcopy-ram.c | 1 +
migration/savevm.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
index e5c02a32c5..fa09dba534 100644
--- a/migration/postcopy-ram.c
+++ b/migration/postcopy-ram.c
@@ -1117,6 +1117,7 @@ int postcopy_ram_enable_notify(MigrationIncomingState *mis)
/* Mark so that we get notified of accesses to unwritten areas */
if (qemu_ram_foreach_migratable_block(ram_block_enable_notify, mis)) {
+ error_report("ram_block_enable_notify failed");
return -1;
}
diff --git a/migration/savevm.c b/migration/savevm.c
index 9e45fb4f3f..d784e8aa40 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -1729,6 +1729,7 @@ static int loadvm_postcopy_handle_listen(MigrationIncomingState *mis)
*/
if (migrate_postcopy_ram()) {
if (postcopy_ram_enable_notify(mis)) {
+ postcopy_ram_incoming_cleanup(mis);
return -1;
}
}
--
2.17.2 (Apple Git-113)
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH for-4.0 5/5] migration: unify error handling for process_incoming_migration_co
2019-01-13 14:08 [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
` (3 preceding siblings ...)
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 4/5] migration: add more error handling for postcopy_ram_enable_notify Fei Li
@ 2019-01-13 14:08 ` Fei Li
2019-01-16 4:50 ` [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
5 siblings, 0 replies; 11+ messages in thread
From: Fei Li @ 2019-01-13 14:08 UTC (permalink / raw)
To: qemu-devel, shirley17fei; +Cc: Fei Li, Dr . David Alan Gilbert
From: Fei Li <fli@suse.com>
In the current code, if process_incoming_migration_co() fails we do
the same error handing: set the error state, close the source file,
do the cleanup for multifd, and then exit(EXIT_FAILURE). To make the
code clearer, add a "goto fail" to unify the error handling.
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Fei Li <fli@suse.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
migration/migration.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index 5d322eb9d6..ded151b1bf 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -438,15 +438,13 @@ static void process_incoming_migration_co(void *opaque)
/* Make sure all file formats flush their mutable metadata */
bdrv_invalidate_cache_all(&local_err);
if (local_err) {
- migrate_set_state(&mis->state, MIGRATION_STATUS_ACTIVE,
- MIGRATION_STATUS_FAILED);
error_report_err(local_err);
- exit(EXIT_FAILURE);
+ goto fail;
}
if (colo_init_ram_cache() < 0) {
error_report("Init ram cache failed");
- exit(EXIT_FAILURE);
+ goto fail;
}
qemu_thread_create(&mis->colo_incoming_thread, "COLO incoming",
@@ -461,20 +459,22 @@ static void process_incoming_migration_co(void *opaque)
}
if (ret < 0) {
- Error *local_err = NULL;
-
- migrate_set_state(&mis->state, MIGRATION_STATUS_ACTIVE,
- MIGRATION_STATUS_FAILED);
error_report("load of migration failed: %s", strerror(-ret));
- qemu_fclose(mis->from_src_file);
- if (multifd_load_cleanup(&local_err) != 0) {
- error_report_err(local_err);
- }
- exit(EXIT_FAILURE);
+ goto fail;
}
mis->bh = qemu_bh_new(process_incoming_migration_bh, mis);
qemu_bh_schedule(mis->bh);
mis->migration_incoming_co = NULL;
+ return;
+fail:
+ local_err = NULL;
+ migrate_set_state(&mis->state, MIGRATION_STATUS_ACTIVE,
+ MIGRATION_STATUS_FAILED);
+ qemu_fclose(mis->from_src_file);
+ if (multifd_load_cleanup(&local_err) != 0) {
+ error_report_err(local_err);
+ }
+ exit(EXIT_FAILURE);
}
static void migration_incoming_setup(QEMUFile *f)
--
2.17.2 (Apple Git-113)
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues
2019-01-13 14:08 [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
` (4 preceding siblings ...)
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 5/5] migration: unify error handling for process_incoming_migration_co Fei Li
@ 2019-01-16 4:50 ` Fei Li
2019-01-16 14:52 ` Philippe Mathieu-Daudé
5 siblings, 1 reply; 11+ messages in thread
From: Fei Li @ 2019-01-16 4:50 UTC (permalink / raw)
To: Fei Li, qemu-devel
Hi all,
Kindly ping. :)
As my v10 of qemu_thread_create partly rely on this patch series, I'd
like to know
when will these 5 patches be merged, or I join them with v10 of
qemu_thread_create
and send together. Could anyone shed light on me? Thanks for the advice
in advance.
Have a nice day
Fei
在 2019/1/13 下午10:08, Fei Li 写道:
> All these five patches have gotten the Reviewed-by: the first patch
> is to fix one segmentation fault and the other four are to fix some
> migration issues.
>
> To be more detail, they are extracted from previous
> "[PATCH for-4.0 v9 16/16] qemu_thread_create: propagate errors to
> callers to handle.", but actually these five patches are derivative
> and not relevant to the mentioned qemu_thread_create patch series.
> Thus send them separately to make them be merged earlier.
>
> Fei Li (5):
> Fix segmentation fault when qemu_signal_init fails
> migration: fix the multifd code when receiving less channels
> migration: multifd_save_cleanup() can't fail, simplify
> migration: add more error handling for postcopy_ram_enable_notify
> migration: unify error handling for process_incoming_migration_co
>
> migration/channel.c | 11 ++++++-----
> migration/migration.c | 40 +++++++++++++++++++++-------------------
> migration/migration.h | 2 +-
> migration/postcopy-ram.c | 1 +
> migration/ram.c | 28 ++++++++++++++++++----------
> migration/ram.h | 4 ++--
> migration/savevm.c | 1 +
> util/main-loop.c | 8 ++++----
> 8 files changed, 54 insertions(+), 41 deletions(-)
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues
2019-01-16 4:50 ` [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
@ 2019-01-16 14:52 ` Philippe Mathieu-Daudé
2019-01-16 15:00 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 11+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-01-16 14:52 UTC (permalink / raw)
To: Fei Li, Fei Li, Juan Quintela, Dr. David Alan Gilbert; +Cc: qemu-devel
On 1/16/19 5:50 AM, Fei Li wrote:
> Hi all,
>
> Kindly ping. :)
>
> As my v10 of qemu_thread_create partly rely on this patch series, I'd
> like to know
> when will these 5 patches be merged, or I join them with v10 of
> qemu_thread_create
> and send together. Could anyone shed light on me? Thanks for the advice
> in advance.
This series would get merged quicker if you include the maintainers :)
$ ./scripts/get_maintainer.pl -f migration/*
Juan Quintela <quintela@redhat.com> (maintainer:Migration)
"Dr. David Alan Gilbert" <dgilbert@redhat.com> (maintainer:Migration)
Doing that for you by responding to this mail.
Regards,
Phil.
>
>
> Have a nice day
> Fei
> 在 2019/1/13 下午10:08, Fei Li 写道:
>> All these five patches have gotten the Reviewed-by: the first patch
>> is to fix one segmentation fault and the other four are to fix some
>> migration issues.
>>
>> To be more detail, they are extracted from previous
>> "[PATCH for-4.0 v9 16/16] qemu_thread_create: propagate errors to
>> callers to handle.", but actually these five patches are derivative
>> and not relevant to the mentioned qemu_thread_create patch series.
>> Thus send them separately to make them be merged earlier.
>>
>> Fei Li (5):
>> Fix segmentation fault when qemu_signal_init fails
>> migration: fix the multifd code when receiving less channels
>> migration: multifd_save_cleanup() can't fail, simplify
>> migration: add more error handling for postcopy_ram_enable_notify
>> migration: unify error handling for process_incoming_migration_co
>>
>> migration/channel.c | 11 ++++++-----
>> migration/migration.c | 40 +++++++++++++++++++++-------------------
>> migration/migration.h | 2 +-
>> migration/postcopy-ram.c | 1 +
>> migration/ram.c | 28 ++++++++++++++++++----------
>> migration/ram.h | 4 ++--
>> migration/savevm.c | 1 +
>> util/main-loop.c | 8 ++++----
>> 8 files changed, 54 insertions(+), 41 deletions(-)
>>
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues
2019-01-16 14:52 ` Philippe Mathieu-Daudé
@ 2019-01-16 15:00 ` Dr. David Alan Gilbert
2019-01-17 2:04 ` fei
0 siblings, 1 reply; 11+ messages in thread
From: Dr. David Alan Gilbert @ 2019-01-16 15:00 UTC (permalink / raw)
To: Philippe Mathieu-Daudé; +Cc: Fei Li, Fei Li, Juan Quintela, qemu-devel
* Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
> On 1/16/19 5:50 AM, Fei Li wrote:
> > Hi all,
> >
> > Kindly ping. :)
> >
> > As my v10 of qemu_thread_create partly rely on this patch series, I'd
> > like to know
> > when will these 5 patches be merged, or I join them with v10 of
> > qemu_thread_create
> > and send together. Could anyone shed light on me? Thanks for the advice
> > in advance.
>
> This series would get merged quicker if you include the maintainers :)
>
> $ ./scripts/get_maintainer.pl -f migration/*
> Juan Quintela <quintela@redhat.com> (maintainer:Migration)
> "Dr. David Alan Gilbert" <dgilbert@redhat.com> (maintainer:Migration)
>
> Doing that for you by responding to this mail.
We can do it via migration now the set is complete.
Dave
>
> Regards,
>
> Phil.
>
> >
> >
> > Have a nice day
> > Fei
> > 在 2019/1/13 下午10:08, Fei Li 写道:
> >> All these five patches have gotten the Reviewed-by: the first patch
> >> is to fix one segmentation fault and the other four are to fix some
> >> migration issues.
> >>
> >> To be more detail, they are extracted from previous
> >> "[PATCH for-4.0 v9 16/16] qemu_thread_create: propagate errors to
> >> callers to handle.", but actually these five patches are derivative
> >> and not relevant to the mentioned qemu_thread_create patch series.
> >> Thus send them separately to make them be merged earlier.
> >>
> >> Fei Li (5):
> >> Fix segmentation fault when qemu_signal_init fails
> >> migration: fix the multifd code when receiving less channels
> >> migration: multifd_save_cleanup() can't fail, simplify
> >> migration: add more error handling for postcopy_ram_enable_notify
> >> migration: unify error handling for process_incoming_migration_co
> >>
> >> migration/channel.c | 11 ++++++-----
> >> migration/migration.c | 40 +++++++++++++++++++++-------------------
> >> migration/migration.h | 2 +-
> >> migration/postcopy-ram.c | 1 +
> >> migration/ram.c | 28 ++++++++++++++++++----------
> >> migration/ram.h | 4 ++--
> >> migration/savevm.c | 1 +
> >> util/main-loop.c | 8 ++++----
> >> 8 files changed, 54 insertions(+), 41 deletions(-)
> >>
> >
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues
2019-01-16 15:00 ` Dr. David Alan Gilbert
@ 2019-01-17 2:04 ` fei
2019-01-23 11:34 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 11+ messages in thread
From: fei @ 2019-01-17 2:04 UTC (permalink / raw)
To: Dr. David Alan Gilbert
Cc: Philippe Mathieu-Daudé, Fei Li, Juan Quintela, qemu-devel
> 在 2019年1月16日,23:00,Dr. David Alan Gilbert <dgilbert@redhat.com> 写道:
>
> * Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
>>> On 1/16/19 5:50 AM, Fei Li wrote:
>>> Hi all,
>>>
>>> Kindly ping. :)
>>>
>>> As my v10 of qemu_thread_create partly rely on this patch series, I'd
>>> like to know
>>> when will these 5 patches be merged, or I join them with v10 of
>>> qemu_thread_create
>>> and send together. Could anyone shed light on me? Thanks for the advice
>>> in advance.
>>
>> This series would get merged quicker if you include the maintainers :)
>>
>> $ ./scripts/get_maintainer.pl -f migration/*
>> Juan Quintela <quintela@redhat.com> (maintainer:Migration)
>> "Dr. David Alan Gilbert" <dgilbert@redhat.com> (maintainer:Migration)
>>
>> Doing that for you by responding to this mail.
>
> We can do it via migration now the set is complete.
>
> Dave
>
Thanks all! :)
Have a nice day
Fei
>>
>> Regards,
>>
>> Phil.
>>
>>>
>>>
>>> Have a nice day
>>> Fei
>>>> 在 2019/1/13 下午10:08, Fei Li 写道:
>>>> All these five patches have gotten the Reviewed-by: the first patch
>>>> is to fix one segmentation fault and the other four are to fix some
>>>> migration issues.
>>>>
>>>> To be more detail, they are extracted from previous
>>>> "[PATCH for-4.0 v9 16/16] qemu_thread_create: propagate errors to
>>>> callers to handle.", but actually these five patches are derivative
>>>> and not relevant to the mentioned qemu_thread_create patch series.
>>>> Thus send them separately to make them be merged earlier.
>>>>
>>>> Fei Li (5):
>>>> Fix segmentation fault when qemu_signal_init fails
>>>> migration: fix the multifd code when receiving less channels
>>>> migration: multifd_save_cleanup() can't fail, simplify
>>>> migration: add more error handling for postcopy_ram_enable_notify
>>>> migration: unify error handling for process_incoming_migration_co
>>>>
>>>> migration/channel.c | 11 ++++++-----
>>>> migration/migration.c | 40 +++++++++++++++++++++-------------------
>>>> migration/migration.h | 2 +-
>>>> migration/postcopy-ram.c | 1 +
>>>> migration/ram.c | 28 ++++++++++++++++++----------
>>>> migration/ram.h | 4 ++--
>>>> migration/savevm.c | 1 +
>>>> util/main-loop.c | 8 ++++----
>>>> 8 files changed, 54 insertions(+), 41 deletions(-)
>>>>
>>>
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues
2019-01-17 2:04 ` fei
@ 2019-01-23 11:34 ` Dr. David Alan Gilbert
0 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert @ 2019-01-23 11:34 UTC (permalink / raw)
To: fei; +Cc: Philippe Mathieu-Daudé, Fei Li, Juan Quintela, qemu-devel
* fei (lifei1214@126.com) wrote:
>
>
> > 在 2019年1月16日,23:00,Dr. David Alan Gilbert <dgilbert@redhat.com> 写道:
> >
> > * Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
> >>> On 1/16/19 5:50 AM, Fei Li wrote:
> >>> Hi all,
> >>>
> >>> Kindly ping. :)
> >>>
> >>> As my v10 of qemu_thread_create partly rely on this patch series, I'd
> >>> like to know
> >>> when will these 5 patches be merged, or I join them with v10 of
> >>> qemu_thread_create
> >>> and send together. Could anyone shed light on me? Thanks for the advice
> >>> in advance.
> >>
> >> This series would get merged quicker if you include the maintainers :)
> >>
> >> $ ./scripts/get_maintainer.pl -f migration/*
> >> Juan Quintela <quintela@redhat.com> (maintainer:Migration)
> >> "Dr. David Alan Gilbert" <dgilbert@redhat.com> (maintainer:Migration)
> >>
> >> Doing that for you by responding to this mail.
> >
> > We can do it via migration now the set is complete.
> >
> > Dave
> >
> Thanks all! :)
Queued for migration.
Dave
> Have a nice day
> Fei
> >>
> >> Regards,
> >>
> >> Phil.
> >>
> >>>
> >>>
> >>> Have a nice day
> >>> Fei
> >>>> 在 2019/1/13 下午10:08, Fei Li 写道:
> >>>> All these five patches have gotten the Reviewed-by: the first patch
> >>>> is to fix one segmentation fault and the other four are to fix some
> >>>> migration issues.
> >>>>
> >>>> To be more detail, they are extracted from previous
> >>>> "[PATCH for-4.0 v9 16/16] qemu_thread_create: propagate errors to
> >>>> callers to handle.", but actually these five patches are derivative
> >>>> and not relevant to the mentioned qemu_thread_create patch series.
> >>>> Thus send them separately to make them be merged earlier.
> >>>>
> >>>> Fei Li (5):
> >>>> Fix segmentation fault when qemu_signal_init fails
> >>>> migration: fix the multifd code when receiving less channels
> >>>> migration: multifd_save_cleanup() can't fail, simplify
> >>>> migration: add more error handling for postcopy_ram_enable_notify
> >>>> migration: unify error handling for process_incoming_migration_co
> >>>>
> >>>> migration/channel.c | 11 ++++++-----
> >>>> migration/migration.c | 40 +++++++++++++++++++++-------------------
> >>>> migration/migration.h | 2 +-
> >>>> migration/postcopy-ram.c | 1 +
> >>>> migration/ram.c | 28 ++++++++++++++++++----------
> >>>> migration/ram.h | 4 ++--
> >>>> migration/savevm.c | 1 +
> >>>> util/main-loop.c | 8 ++++----
> >>>> 8 files changed, 54 insertions(+), 41 deletions(-)
> >>>>
> >>>
> > --
> > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-01-23 11:34 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-13 14:08 [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 1/5] Fix segmentation fault when qemu_signal_init fails Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 2/5] migration: fix the multifd code when receiving less channels Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 3/5] migration: multifd_save_cleanup() can't fail, simplify Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 4/5] migration: add more error handling for postcopy_ram_enable_notify Fei Li
2019-01-13 14:08 ` [Qemu-devel] [PATCH for-4.0 5/5] migration: unify error handling for process_incoming_migration_co Fei Li
2019-01-16 4:50 ` [Qemu-devel] [PATCH for-4.0 0/5] fix some segmentation faults and migration issues Fei Li
2019-01-16 14:52 ` Philippe Mathieu-Daudé
2019-01-16 15:00 ` Dr. David Alan Gilbert
2019-01-17 2:04 ` fei
2019-01-23 11:34 ` Dr. David Alan Gilbert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).