[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-9.1 v5 00/14] migration: Improve error reporting
From: |
Peter Xu |
Subject: |
Re: [PATCH for-9.1 v5 00/14] migration: Improve error reporting |
Date: |
Fri, 22 Mar 2024 09:42:35 -0400 |
On Wed, Mar 20, 2024 at 07:48:56AM +0100, Cédric Le Goater wrote:
> Hello,
>
> The motivation behind these changes is to improve error reporting to
> the upper management layer (libvirt) with a more detailed error, this
> to let it decide, depending on the reported error, whether to try
> migration again later. It would be useful in cases where migration
> fails due to lack of HW resources on the host. For instance, some
> adapters can only initiate a limited number of simultaneous dirty
> tracking requests and this imposes a limit on the the number of VMs
> that can be migrated simultaneously.
>
> We are not quite ready for such a mechanism but what we can do first is
> to cleanup the error reporting in the early save_setup sequence. This
> is what the following changes propose, by adding an Error** argument to
> various handlers and propagating it to the core migration subsystem.
>
>
> Patchset is organized as follow :
>
> * [1-4] are prerequisite changes in other components related to the
> migration save_setup() handler. They make sure a failure is not
> returned without setting an error.
>
> s390/stattrib: Add Error** argument to set_migrationmode() handler
> vfio: Always report an error in vfio_save_setup()
> migration: Always report an error in block_save_setup()
> migration: Always report an error in ram_save_setup()
> migration: Add Error** argument to vmstate_save()
>
> * [5-14] are the core changes in migration and memory components to
> propagate an error reported in a save_setup() handler.
>
> migration: Add Error** argument to qemu_savevm_state_setup()
> migration: Add Error** argument to .save_setup() handler
> migration: Add Error** argument to .load_setup() handler
> memory: Add Error** argument to .log_global_start() handler
> migration: Introduce ram_bitmaps_destroy()
> memory: Add Error** argument to the global_dirty_log routines
> migration: Add Error** argument to ram_state_init()
> migration: Add Error** argument to xbzrle_init()
> migration: Modify ram_init_bitmaps() to report dirty tracking errors
>
> The VFIO changes depend on the above. They are simpler and have been
> reviewed already. I kept them for another series.
queued for 9.1, thanks.
--
Peter Xu