From: Peter Xu <peterx@redhat.com>
To: Steve Sistare <steven.sistare@oracle.com>
Cc: qemu-devel@nongnu.org, Fabiano Rosas <farosas@suse.de>,
"Michael S. Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>,
Alex Williamson <alex.williamson@redhat.com>,
Cedric Le Goater <clg@redhat.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Marc-Andre Lureau <marcandre.lureau@redhat.com>,
David Hildenbrand <david@redhat.com>
Subject: Re: [PATCH V2 08/11] migration: refactor migrate_fd_connect failures
Date: Mon, 15 Jan 2024 15:37:45 +0800 [thread overview]
Message-ID: <ZaTgyfYvyH-BW4Ev@x1n> (raw)
In-Reply-To: <1705071910-174321-9-git-send-email-steven.sistare@oracle.com>
On Fri, Jan 12, 2024 at 07:05:07AM -0800, Steve Sistare wrote:
> Move common code for the error path in migrate_fd_connect to a shared
> fail label. No functional change.
>
> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
One nitpick below:
> ---
> migration/migration.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index e9914aa..c828ba7 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -3549,6 +3549,7 @@ void migrate_fd_connect(MigrationState *s, Error *error_in)
> Error *local_err = NULL;
> uint64_t rate_limit;
> bool resume = s->state == MIGRATION_STATUS_POSTCOPY_PAUSED;
> + int expect_state = s->state;
IMHO we can drop this.
>
> /*
> * If there's a previous error, free it and prepare for another one.
> @@ -3603,11 +3604,7 @@ void migrate_fd_connect(MigrationState *s, Error *error_in)
> if (migrate_postcopy_ram() || migrate_return_path()) {
> if (open_return_path_on_source(s)) {
> error_setg(&local_err, "Unable to open return-path for postcopy");
> - migrate_set_state(&s->state, s->state, MIGRATION_STATUS_FAILED);
> - migrate_set_error(s, local_err);
> - error_report_err(local_err);
> - migrate_fd_cleanup(s);
> - return;
> + goto fail;
> }
> }
>
> @@ -3629,12 +3626,8 @@ void migrate_fd_connect(MigrationState *s, Error *error_in)
> }
>
> if (multifd_save_setup(&local_err) != 0) {
> - migrate_set_error(s, local_err);
> - error_report_err(local_err);
> - migrate_set_state(&s->state, MIGRATION_STATUS_SETUP,
> - MIGRATION_STATUS_FAILED);
> - migrate_fd_cleanup(s);
> - return;
> + expect_state = MIGRATION_STATUS_SETUP;
Then drop this.
> + goto fail;
> }
>
> if (migrate_background_snapshot()) {
> @@ -3645,6 +3638,13 @@ void migrate_fd_connect(MigrationState *s, Error *error_in)
> migration_thread, s, QEMU_THREAD_JOINABLE);
> }
> s->migration_thread_running = true;
> + return;
> +
> +fail:
> + migrate_set_error(s, local_err);
> + migrate_set_state(&s->state, expect_state, MIGRATION_STATUS_FAILED);
Then constantly use s->state.
> + error_report_err(local_err);
> + migrate_fd_cleanup(s);
> }
>
> static void migration_class_init(ObjectClass *klass, void *data)
> --
> 1.8.3.1
>
--
Peter Xu
next prev parent reply other threads:[~2024-01-15 7:38 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-12 15:04 [PATCH V2 00/11] allow cpr-reboot for vfio Steve Sistare
2024-01-12 15:05 ` [PATCH V2 01/11] notify: pass error to notifier with return Steve Sistare
2024-01-15 6:38 ` Peter Xu
2024-01-12 15:05 ` [PATCH V2 02/11] migration: remove error from notifier data Steve Sistare
2024-01-15 6:38 ` Peter Xu
2024-01-12 15:05 ` [PATCH V2 03/11] migration: convert to NotifierWithReturn Steve Sistare
2024-01-15 6:44 ` Peter Xu
2024-01-16 20:35 ` Steven Sistare
2024-01-17 2:29 ` Peter Xu
2024-01-12 15:05 ` [PATCH V2 04/11] migration: remove migration_in_postcopy parameter Steve Sistare
2024-01-15 6:48 ` Peter Xu
2024-01-16 20:36 ` Steven Sistare
2024-01-12 15:05 ` [PATCH V2 05/11] migration: MigrationEvent for notifiers Steve Sistare
2024-01-12 15:18 ` Steven Sistare
2024-01-12 15:05 ` [PATCH V2 06/11] migration: MigrationNotifyFunc Steve Sistare
2024-01-12 15:05 ` [PATCH V2 07/11] migration: per-mode notifiers Steve Sistare
2024-01-12 15:05 ` [PATCH V2 08/11] migration: refactor migrate_fd_connect failures Steve Sistare
2024-01-15 7:37 ` Peter Xu [this message]
2024-01-16 20:35 ` Steven Sistare
2024-01-12 15:05 ` [PATCH V2 09/11] migration: notifier error checking Steve Sistare
2024-01-12 15:05 ` [PATCH V2 10/11] vfio: register container for cpr Steve Sistare
2024-01-12 15:05 ` [PATCH V2 11/11] vfio: allow cpr-reboot migration if suspended Steve Sistare
2024-01-15 7:33 ` Peter Xu
2024-01-16 20:37 ` Steven Sistare
2024-01-16 20:44 ` Steven Sistare
2024-01-17 7:12 ` Peter Xu
2024-01-17 21:30 ` Steven Sistare
2024-01-18 3:20 ` Peter Xu
2024-01-12 21:38 ` [PATCH V2 00/11] allow cpr-reboot for vfio Alex Williamson
2024-01-16 20:36 ` Steven Sistare
2024-01-15 10:48 ` David Hildenbrand
2024-01-15 10:51 ` David Hildenbrand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZaTgyfYvyH-BW4Ev@x1n \
--to=peterx@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=clg@redhat.com \
--cc=david@redhat.com \
--cc=farosas@suse.de \
--cc=jasowang@redhat.com \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=steven.sistare@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.