[libvirt] [PATCH v2 03/12] migration: move implementation check to branches in p2p

Daniel P. Berrange berrange at redhat.com
Thu Sep 17 14:04:47 UTC 2015


On Thu, Sep 10, 2015 at 04:20:15PM +0300, Nikolay Shirokovskiy wrote:
> This is more structured code so it will be easier to add branch for _PARAMS
> protocol here. It is not a pure refactoring strictly speaking as we remove
> scenarios for broken cases when driver defines V3 feature and implements
> perform function. So it is additionally a more solid code.
> 
> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
> ---
>  src/libvirt-domain.c |   14 ++++++++------
>  1 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
> index 07e342f..6f10c74 100644
> --- a/src/libvirt-domain.c
> +++ b/src/libvirt-domain.c
> @@ -3353,23 +3353,25 @@ virDomainMigratePeer2PeerPlain(virDomainPtr domain,
>                       dconnuri, NULLSTR(xmlin), NULLSTR(dname), NULLSTR(uri),
>                       bandwidth, flags);
>  
> -    if (!domain->conn->driver->domainMigratePerform &&
> -        !domain->conn->driver->domainMigratePerform3) {
> -        virReportUnsupportedError();
> -        return -1;
> -    }
> -
>      if (virDomainMigrateCheckNotLocal(dconnuri) < 0)
>          return -1;
>  
>      if (VIR_DRV_SUPPORTS_FEATURE(domain->conn->driver, domain->conn,
>                                          VIR_DRV_FEATURE_MIGRATION_V3)) {
>          VIR_DEBUG("Using migration protocol 3");
> +        if (!domain->conn->driver->domainMigratePerform3) {
> +            virReportUnsupportedError();
> +            return -1;
> +        }
>          return domain->conn->driver->domainMigratePerform3
>                  (domain, xmlin, NULL, 0, NULL, NULL, dconnuri,
>                   uri, flags, dname, bandwidth);
>      } else {
>          VIR_DEBUG("Using migration protocol 2");
> +        if (!domain->conn->driver->domainMigratePerform) {
> +            virReportUnsupportedError();
> +            return -1;
> +        }
>          if (xmlin) {
>              virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
>                             _("Unable to change target guest XML during "

ACK

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list