From b880ff42ddb4d7a8c706ab3555286e7e1da99e46 Mon Sep 17 00:00:00 2001 From: Olga Krishtal Date: Thu, 18 Aug 2016 15:37:00 +0300 Subject: [PATCH] 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 --- src/vz/vz_driver.c | 6 ++++++ 1 file changed, 6 insertions(+) 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);