
On Wed, Sep 30, 2015 at 10:20:23 +0300, Nikolay Shirokovskiy wrote:
On 25.09.2015 17:12, Jiri Denemark wrote:
On Fri, Sep 18, 2015 at 18:05:40 +0300, Nikolay Shirokovskiy wrote:
Refactor dconnuri local server URI check to common API.
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> --- src/libvirt-domain.c | 44 ++++++++++++++++++++++++-------------------- 1 files changed, 24 insertions(+), 20 deletions(-)
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c index 697d58d..2e43062 100644 --- a/src/libvirt-domain.c +++ b/src/libvirt-domain.c @@ -3293,6 +3293,28 @@ virDomainMigrateVersion3Params(virDomainPtr domain, }
+static int ATTRIBUTE_NONNULL(1) +virDomainMigrateCheckNotLocal(const char *dconnuri) +{ + virURIPtr tempuri = NULL; + int ret = -1; + + if (!(tempuri = virURIParse(dconnuri))) + goto cleanup; + if (!tempuri->server || STRPREFIX(tempuri->server, "localhost")) { + virReportInvalidArg(dconnuri, "%s", + _("Attempt to migrate guest to the same host %s"));
Hmm, I don't think this new error message is better than the old one. But anyway, we shouldn't need this code at all, checking dconnuri on a client and then passing it to libvirtd which will have to check it again does not make a lot of sense.
In other words, I think we should just completely remove the dconuri checks from virDomainMigratePeer2Peer*.
Jirka
Sorry, for delay. I hoped you'll finish series review.
Yeah, sorry about that. A long weekend came into my review session :-)
The meaning of this check is unclear, so i found it origins, see https://www.redhat.com/archives/libvir-list/2011-January/msg00437.html. This message states that without this check we can get a deadlock, thus I leave it. Also I investigate if this check had been moved to qemu code as reviewer suggested. Looks likes it is not.
I see, unless we have the check in the qemu driver since a long time ago, I'm afraid we need to keep it in libvirt-domain.c. Jirka