[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH V2 4/6] cpr: relax vhost migration blockers
From: |
Peter Xu |
Subject: |
Re: [PATCH V2 4/6] cpr: relax vhost migration blockers |
Date: |
Tue, 31 Oct 2023 11:44:33 -0400 |
Copy qemu-block, virtio
On Wed, Oct 25, 2023 at 12:44:27PM -0700, Steve Sistare wrote:
> vhost blocks migration if logging is not supported to track dirty
> memory, and vhost-user blocks it if the log cannot be saved to a shm fd.
>
> vhost-vdpa blocks migration if both hosts do not support all the device's
> features using a shadow VQ, for tracking requests and dirty memory.
>
> vhost-scsi blocks migration if storage cannot be shared across hosts,
> or if state cannot be migrated.
>
> None of these conditions apply if the old and new qemu processes do
> not run concurrently, and if new qemu starts on the same host as old,
> which is the case for cpr.
>
> Narrow the scope of these blockers so they only apply to normal mode.
> They will not block cpr modes when they are added in subsequent patches.
>
> No functional change until a new mode is added.
>
> Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
> Reviewed-by: Juan Quintela <quintela@redhat.com>
> ---
> hw/scsi/vhost-scsi.c | 2 +-
> hw/virtio/vhost.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c
> index 14e23cc..bf528d5 100644
> --- a/hw/scsi/vhost-scsi.c
> +++ b/hw/scsi/vhost-scsi.c
> @@ -208,7 +208,7 @@ static void vhost_scsi_realize(DeviceState *dev, Error
> **errp)
> "When external environment supports it (Orchestrator
> migrates "
> "target SCSI device state or use shared storage over
> network), "
> "set 'migratable' property to true to enable migration.");
> - if (migrate_add_blocker(&vsc->migration_blocker, errp) < 0) {
> + if (migrate_add_blocker_normal(&vsc->migration_blocker, errp) < 0) {
> goto free_virtio;
> }
> }
> diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
> index d737671..f5e9625 100644
> --- a/hw/virtio/vhost.c
> +++ b/hw/virtio/vhost.c
> @@ -1527,7 +1527,7 @@ int vhost_dev_init(struct vhost_dev *hdev, void *opaque,
> }
>
> if (hdev->migration_blocker != NULL) {
> - r = migrate_add_blocker(&hdev->migration_blocker, errp);
> + r = migrate_add_blocker_normal(&hdev->migration_blocker, errp);
> if (r < 0) {
> goto fail_busyloop;
> }
> --
> 1.8.3.1
>
--
Peter Xu
- [PATCH V2 0/6] Live Update reboot mode, Steve Sistare, 2023/10/25
- [PATCH V2 1/6] migration: mode parameter, Steve Sistare, 2023/10/25
- [PATCH V2 4/6] cpr: relax vhost migration blockers, Steve Sistare, 2023/10/25
- Re: [PATCH V2 4/6] cpr: relax vhost migration blockers,
Peter Xu <=
- [PATCH V2 3/6] cpr: relax blockdev migration blockers, Steve Sistare, 2023/10/25
- [PATCH V2 5/6] cpr: reboot mode, Steve Sistare, 2023/10/25
- [PATCH V2 6/6] tests/qtest: migration: add reboot mode test, Steve Sistare, 2023/10/25
- [PATCH V2 2/6] migration: per-mode blockers, Steve Sistare, 2023/10/25