qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v10 10/19] multi-process: introduce proxy object


From: Stefan Hajnoczi
Subject: Re: [PATCH v10 10/19] multi-process: introduce proxy object
Date: Wed, 7 Oct 2020 15:37:38 +0100

On Mon, Oct 05, 2020 at 11:50:58AM -0700, elena.ufimtseva@oracle.com wrote:
> +static void pci_proxy_dev_realize(PCIDevice *device, Error **errp)
> +{
> +    PCIProxyDev *dev = PCI_PROXY_DEV(device);
> +    int fd;
> +
> +    if (dev->fd) {
> +        fd = monitor_fd_param(cur_mon, dev->fd, errp);
> +        if (fd == -1) {
> +            error_prepend(errp, "proxy: unable to parse fd: ");
> +            return;
> +        }
> +        proxy_set_socket(dev, fd, errp);
> +    } else {
> +        error_setg(errp, "fd parameter not specified for %s",
> +                   DEVICE(device)->id);
> +        return;
> +    }
> +
> +    error_setg(&dev->migration_blocker, "%s does not support migration",
> +               TYPE_PCI_PROXY_DEV);
> +    if (migrate_add_blocker(dev->migration_blocker, errp)) {
> +        error_free(dev->migration_blocker);
> +        error_free(*errp);
> +        dev->migration_blocker = NULL;
> +        error_setg(errp, "Failed to set migration blocker");
> +    }
> +
> +    qemu_mutex_init(&dev->io_mutex);
> +    qio_channel_set_blocking(dev->ioc, true, NULL);
> +}
> +
> +static void pci_proxy_dev_exit(PCIDevice *pdev)
> +{
> +    PCIProxyDev *dev = PCI_PROXY_DEV(pdev);
> +
> +    qio_channel_close(dev->ioc, NULL);

Call migrate_del_blocker() and delete dev->migration_blocker?

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]