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.sist...@oracle.com> > Reviewed-by: Juan Quintela <quint...@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