[libvirt] [PATCH 5/6] hostdev: Only rollback detach of managed devices on error

Michal Privoznik mprivozn at redhat.com
Thu Dec 17 16:28:57 UTC 2015


On 17.12.2015 16:23, Andrea Bolognani wrote:
> Since we don't detach unmanaged devices before attaching them to a
> domain, we shouldn't reattach them to rollback an error either.
> ---
>  src/util/virhostdev.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c
> index afacd4e..c8da8e5 100644
> --- a/src/util/virhostdev.c
> +++ b/src/util/virhostdev.c
> @@ -711,12 +711,14 @@ virHostdevPreparePCIDevices(virHostdevManagerPtr hostdev_mgr,
>      for (i = 0; i < virPCIDeviceListCount(pcidevs); i++) {
>          virPCIDevicePtr dev = virPCIDeviceListGet(pcidevs, i);
>  
> -        /* NB: This doesn't actually re-bind to original driver, just
> -         * unbinds from the stub driver
> -         */
> -        ignore_value(virPCIDeviceReattach(dev,
> -                                          hostdev_mgr->activePCIHostdevs,
> -                                          hostdev_mgr->inactivePCIHostdevs));
> +        if (virPCIDeviceGetManaged(dev)) {
> +            /* NB: This doesn't actually re-bind to original driver, just
> +             * unbinds from the stub driver
> +             */
> +            ignore_value(virPCIDeviceReattach(dev,
> +                                              hostdev_mgr->activePCIHostdevs,
> +                                              hostdev_mgr->inactivePCIHostdevs));
> +        }
>      }
>  
>   cleanup:
> 

This is exactly what has came to my mind when reviewing previous patch :-)

Michal




More information about the libvir-list mailing list