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(a)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