On Thu, May 8, 2025 at 2:47 AM Jonah Palmer <jonah.pal...@oracle.com> wrote:
>
> From: Eugenio Pérez <epere...@redhat.com>
>
> To map the guest memory while it is migrating we need to create the
> iova_tree, as long as the destination uses x-svq=on. Checking to not
> override it.
>
> The function vhost_vdpa_net_client_stop clear it if the device is
> stopped. If the guest starts the device again, the iova tree is
> recreated by vhost_vdpa_net_data_start_first or vhost_vdpa_net_cvq_start
> if needed, so old behavior is kept.
>
> Signed-off-by: Eugenio Pérez <epere...@redhat.com>
> Signed-off-by: Jonah Palmer <jonah.pal...@oracle.com>

Acked-by: Jason Wang <jasow...@redhat.com>

Thanks

> ---
>  net/vhost-vdpa.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
> index 7ca8b46eee..decb826868 100644
> --- a/net/vhost-vdpa.c
> +++ b/net/vhost-vdpa.c
> @@ -366,7 +366,9 @@ static void 
> vhost_vdpa_net_data_start_first(VhostVDPAState *s)
>
>      migration_add_notifier(&s->migration_state,
>                             vdpa_net_migration_state_notifier);
> -    if (v->shadow_vqs_enabled) {
> +
> +    /* iova_tree may be initialized by vhost_vdpa_net_load_setup */
> +    if (v->shadow_vqs_enabled && !v->shared->iova_tree) {
>          v->shared->iova_tree = 
> vhost_iova_tree_new(v->shared->iova_range.first,
>                                                     
> v->shared->iova_range.last);
>      }
> --
> 2.43.5
>


Reply via email to