From: "Cédric Le Goater" <clg@redhat.com>
To: Eric Auger <eauger@redhat.com>, qemu-devel@nongnu.org
Cc: "Peter Xu" <peterx@redhat.com>, "Fabiano Rosas" <farosas@suse.de>,
"Alex Williamson" <alex.williamson@redhat.com>,
"Avihai Horon" <avihaih@nvidia.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Markus Armbruster" <armbru@redhat.com>
Subject: Re: [PATCH v6 3/9] migration: Extend migration_file_set_error() with Error* argument
Date: Wed, 15 May 2024 19:15:12 +0200 [thread overview]
Message-ID: <300072b4-857d-4740-ab8f-5f10a000f5d0@redhat.com> (raw)
In-Reply-To: <7d4c47ef-f312-4735-ab8b-1bbc841ed3a4@redhat.com>
On 5/15/24 09:04, Eric Auger wrote:
> Hi Cédric,
>
> On 5/14/24 17:31, Cédric Le Goater wrote:
>> Use it to update the current error of the migration stream if
>> available and if not, simply print out the error. Next changes will
>> update with an error to report.
>>
>> Reviewed-by: Avihai Horon <avihaih@nvidia.com>
>> Acked-by: Fabiano Rosas <farosas@suse.de>
>> Signed-off-by: Cédric Le Goater <clg@redhat.com>
>> ---
>>
>> Changes in v6:
>>
>> - Commit log improvements (Avihai)
>>
>> include/migration/misc.h | 2 +-
>> hw/vfio/common.c | 2 +-
>> hw/vfio/migration.c | 4 ++--
>> migration/migration.c | 6 ++++--
>> 4 files changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/include/migration/misc.h b/include/migration/misc.h
>> index bf7339cc1e6430226127fb6a878d06b458170858..bfadc5613bac614a316e5aed7da95d8c7845cf42 100644
>> --- a/include/migration/misc.h
>> +++ b/include/migration/misc.h
>> @@ -97,7 +97,7 @@ void migration_add_notifier_mode(NotifierWithReturn *notify,
>>
>> void migration_remove_notifier(NotifierWithReturn *notify);
>> bool migration_is_running(void);
>> -void migration_file_set_error(int err);
>> +void migration_file_set_error(int ret, Error *err);
>>
>> /* True if incoming migration entered POSTCOPY_INCOMING_DISCARD */
>> bool migration_in_incoming_postcopy(void);
>> diff --git a/hw/vfio/common.c b/hw/vfio/common.c
>> index b5102f54a6474a50c6366e8fbce23812d55e384e..ed5ee6349ced78b3bde68d2ee506f78ba1a9dd9c 100644
>> --- a/hw/vfio/common.c
>> +++ b/hw/vfio/common.c
>> @@ -150,7 +150,7 @@ bool vfio_viommu_preset(VFIODevice *vbasedev)
>> static void vfio_set_migration_error(int err)
> nit: I would have renamed err into ret here to avoid any further confusion.
That was done in v5 :
https://lore.kernel.org/qemu-devel/20240506092053.388578-11-clg@redhat.com/
in the last patch, that I dropped in v6 because I believe it needs more
work. I will address these last changes, including the err->ret rename,
in a followup series if that's ok with you.
Thanks,
C.
>> {
>> if (migration_is_setup_or_active()) {
>> - migration_file_set_error(err);
>> + migration_file_set_error(err, NULL);
>> }
>> }
>>
>> diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
>> index 06ae40969b6c19037e190008e14f28be646278cd..bf2fd0759ba6e4fb103cc5c1a43edb180a3d0de4 100644
>> --- a/hw/vfio/migration.c
>> +++ b/hw/vfio/migration.c
>> @@ -726,7 +726,7 @@ static void vfio_vmstate_change_prepare(void *opaque, bool running,
>> * Migration should be aborted in this case, but vm_state_notify()
>> * currently does not support reporting failures.
>> */
>> - migration_file_set_error(ret);
>> + migration_file_set_error(ret, NULL);
>> }
>>
>> trace_vfio_vmstate_change_prepare(vbasedev->name, running,
>> @@ -756,7 +756,7 @@ static void vfio_vmstate_change(void *opaque, bool running, RunState state)
>> * Migration should be aborted in this case, but vm_state_notify()
>> * currently does not support reporting failures.
>> */
>> - migration_file_set_error(ret);
>> + migration_file_set_error(ret, NULL);
>> }
>>
>> trace_vfio_vmstate_change(vbasedev->name, running, RunState_str(state),
>> diff --git a/migration/migration.c b/migration/migration.c
>> index e88b24f1e6cbe82dad3f890c00e264d2ab6ad355..70d66a441bf04761decf91dbe57ce52c57fde58f 100644
>> --- a/migration/migration.c
>> +++ b/migration/migration.c
>> @@ -2994,13 +2994,15 @@ static MigThrError postcopy_pause(MigrationState *s)
>> }
>> }
>>
>> -void migration_file_set_error(int err)
>> +void migration_file_set_error(int ret, Error *err)
>> {
>> MigrationState *s = current_migration;
>>
>> WITH_QEMU_LOCK_GUARD(&s->qemu_file_lock) {
>> if (s->to_dst_file) {
>> - qemu_file_set_error(s->to_dst_file, err);
>> + qemu_file_set_error_obj(s->to_dst_file, ret, err);
>> + } else if (err) {
>> + error_report_err(err);
>> }
>> }
>> }
> Reviewed-by: Eric Auger <eric.auger@redhat.com>
>
> Eric
>
next prev parent reply other threads:[~2024-05-15 17:16 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-14 15:31 [PATCH v6 0/9] vfio: Improve error reporting (part 2 Cédric Le Goater
2024-05-14 15:31 ` [PATCH v6 1/9] vfio: Add Error** argument to .set_dirty_page_tracking() handler Cédric Le Goater
2024-05-15 6:40 ` Eric Auger
2024-05-15 16:55 ` Cédric Le Goater
2024-05-14 15:31 ` [PATCH v6 2/9] vfio: Add Error** argument to vfio_devices_dma_logging_start() Cédric Le Goater
2024-05-15 6:53 ` Eric Auger
2024-05-15 17:09 ` Cédric Le Goater
2024-05-14 15:31 ` [PATCH v6 3/9] migration: Extend migration_file_set_error() with Error* argument Cédric Le Goater
2024-05-15 7:04 ` Eric Auger
2024-05-15 17:15 ` Cédric Le Goater [this message]
2024-05-14 15:31 ` [PATCH v6 4/9] vfio/migration: Add an Error** argument to vfio_migration_set_state() Cédric Le Goater
2024-05-15 7:20 ` Eric Auger
2024-05-16 7:17 ` Cédric Le Goater
2024-05-16 8:18 ` Avihai Horon
2024-05-16 12:07 ` Cédric Le Goater
2024-05-14 15:31 ` [PATCH v6 5/9] vfio/migration: Add Error** argument to .vfio_save_config() handler Cédric Le Goater
2024-05-15 9:20 ` Eric Auger
2024-05-16 8:22 ` Avihai Horon
2024-05-14 15:31 ` [PATCH v6 6/9] vfio: Reverse test on vfio_get_xlat_addr() Cédric Le Goater
2024-05-15 9:22 ` Eric Auger
2024-05-14 15:31 ` [PATCH v6 7/9] memory: Add Error** argument to memory_get_xlat_addr() Cédric Le Goater
2024-05-15 9:25 ` Eric Auger
2024-05-16 8:25 ` Avihai Horon
2024-05-14 15:31 ` [PATCH v6 8/9] vfio: Add Error** argument to .get_dirty_bitmap() handler Cédric Le Goater
2024-05-15 9:34 ` Eric Auger
2024-05-16 8:42 ` Avihai Horon
2024-05-16 12:22 ` Cédric Le Goater
2024-05-14 15:31 ` [PATCH v6 9/9] vfio: Also trace event failures in vfio_save_complete_precopy() Cédric Le Goater
2024-05-15 9:34 ` Eric Auger
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=300072b4-857d-4740-ab8f-5f10a000f5d0@redhat.com \
--to=clg@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=armbru@redhat.com \
--cc=avihaih@nvidia.com \
--cc=eauger@redhat.com \
--cc=farosas@suse.de \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--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).