From: Fabiano Rosas <farosas@suse.de>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel@nongnu.org, "Daniel P . Berrangé" <berrange@redhat.com>
Subject: Re: [PATCH v3 6/9] migration: Don't set FAILED state when cancelling
Date: Fri, 14 Feb 2025 09:25:12 -0300 [thread overview]
Message-ID: <87jz9svhlj.fsf@suse.de> (raw)
In-Reply-To: <Z65eTACUqiKQaaz1@x1.local>
Peter Xu <peterx@redhat.com> writes:
> On Thu, Feb 13, 2025 at 02:59:24PM -0300, Fabiano Rosas wrote:
>> The expected outcome from qmp_migrate_cancel() is that the source
>> migration goes to the terminal state
>> MIGRATION_STATUS_CANCELLED. Anything different from this is a bug when
>> cancelling.
>>
>> Make sure there is never a state transition from an unspecified state
>> into FAILED. Code that sets FAILED, should always either make sure
>> that the old state is not CANCELLING or specify the old state.
>>
>> Note that the destination is allowed to go into FAILED, so there's no
>> issue there.
>>
>> (I don't think this is relevant as a backport because cancelling does
>> work, it just doesn't show the right state at the end)
>>
>> Fixes: 3dde8fdbad ("migration: Merge precopy/postcopy on switchover start")
>> Fixes: d0edb8a173 ("migration: Create the postcopy preempt channel asynchronously")
>> Fixes: 8518278a6a ("migration: implementation of background snapshot thread")
>> Fixes: bf78a046b9 ("migration: refactor migrate_fd_connect failures")
>> Signed-off-by: Fabiano Rosas <farosas@suse.de>
>
> Not like migrate_set_state_failure(MigrationState *s)? Not a huge deal,
> though..
I thought we had agreed over IRC that it was best to hold that until the
other MigrationStatus work happens?
Anyway, looking closer at this, there are places that handle CANCELLING
beforehand (_detect_error) and places that only set FAILED after
specific states (multifd), so a single helper will require more
churn. Let's postpone that please.
>
> Reviewed-by: Peter Xu <peterx@redhat.com>
next prev parent reply other threads:[~2025-02-14 12:25 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-13 17:59 [PATCH v3 0/9] migration: Fix issues during qmp_migrate_cancel Fabiano Rosas
2025-02-13 17:59 ` [PATCH v3 1/9] migration: Set migration error outside of migrate_cancel Fabiano Rosas
2025-02-13 17:59 ` [PATCH v3 2/9] migration: Unify migration_cancel and migrate_fd_cancel Fabiano Rosas
2025-02-13 17:59 ` [PATCH v3 3/9] migration: Change migrate_fd_ to migration_ Fabiano Rosas
2025-02-13 20:59 ` Peter Xu
2025-02-18 7:54 ` Zhijian Li (Fujitsu) via
2025-02-13 17:59 ` [PATCH v3 4/9] migration: Fix hang after error in destination setup phase Fabiano Rosas
2025-02-13 17:59 ` [PATCH v3 5/9] migration: Reject qmp_migrate_cancel after postcopy Fabiano Rosas
2025-02-13 17:59 ` [PATCH v3 6/9] migration: Don't set FAILED state when cancelling Fabiano Rosas
2025-02-13 21:04 ` Peter Xu
2025-02-14 12:25 ` Fabiano Rosas [this message]
2025-02-14 15:13 ` Peter Xu
2025-02-13 17:59 ` [PATCH v3 7/9] tests/qtest/migration: Introduce migration_test_add_suffix Fabiano Rosas
2025-02-13 17:59 ` [PATCH v3 8/9] tests/qtest/migration: Add a cancel test Fabiano Rosas
2025-02-13 17:59 ` [PATCH v3 9/9] migration: Update migrate_cancel documentation Fabiano Rosas
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=87jz9svhlj.fsf@suse.de \
--to=farosas@suse.de \
--cc=berrange@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 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).