[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] Release VM lock before acquiring virDomainObjListPtr lock



On 2013年02月12日 00:46, Daniel P. Berrange wrote:
From: "Daniel P. Berrange"<berrange redhat com>

When removing a VM from the virDomainObjListPtr, we must not
be holding the VM lock while acquiring the list lock. Re-order
code to ensure that we can release the VM lock early.
---
  src/conf/domain_conf.c | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5e16ddf..d92e54a 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -2115,11 +2115,10 @@ void virDomainObjListRemove(virDomainObjListPtr doms,
  {
      char uuidstr[VIR_UUID_STRING_BUFLEN];

-    virObjectLock(doms);
      virUUIDFormat(dom->def->uuid, uuidstr);
-
      virObjectUnlock(dom);

+    virObjectLock(doms);
      virHashRemoveEntry(doms->objs, uuidstr);
      virObjectUnlock(doms);
  }

ACK


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]