From: Olga Krishtal Date: Thu, 18 Aug 2016 12:37:00 +0000 (+0300) Subject: vz: fixed race in vzDomainAttach/DettachDevice X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b880ff42ddb;p=libvirt.git vz: fixed race in vzDomainAttach/DettachDevice While dettaching/attaching device in OpenStack, nova calls vzDomainDettachDevice twice, because the update of the internal configuration of the ct comes a bit latter than the update event. As the result, we suffer from the second call to dettach the same device. Signed-off-by: Olga Krishtal --- diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 2ed12db10a..26b14a21f3 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -1193,6 +1193,9 @@ static int vzDomainAttachDeviceFlags(virDomainPtr domain, const char *xml, if (prlsdkAttachDevice(driver, dom, dev) < 0) goto cleanup; + if (prlsdkUpdateDomain(driver, dom) < 0) + goto cleanup; + ret = 0; cleanup: virDomainDeviceDefFree(dev); @@ -1245,6 +1248,9 @@ static int vzDomainDetachDeviceFlags(virDomainPtr domain, const char *xml, if (prlsdkDetachDevice(driver, dom, dev) < 0) goto cleanup; + if (prlsdkUpdateDomain(driver, dom) < 0) + goto cleanup; + ret = 0; cleanup: virDomainDeviceDefFree(dev);