From 152896ca7d0fd6fa31355f9c71c05e49c6de4e29 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Fri, 24 Apr 2015 09:34:10 +0200 Subject: [PATCH] uml: s/virDomainObjListFindByID/virDomainObjListFindByUUID/ ListFindByID() still requires to step through items in the hash table (in the worst case scenario through all of them), lock each one and compare whether we've found what we're looking for. This is suboptimal as locking a domain object means we need to wait for the current API running over the object to finish. Unfortunately, we can't drop the function completely because we have this public API virDomainLookupByID which we can't drop. Signed-off-by: Michal Privoznik --- src/uml/uml_driver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c index 60f8eb5c6d..f09e79b1f3 100644 --- a/src/uml/uml_driver.c +++ b/src/uml/uml_driver.c @@ -1659,7 +1659,7 @@ static int umlDomainShutdownFlags(virDomainPtr dom, virCheckFlags(0, -1); umlDriverLock(driver); - vm = virDomainObjListFindByID(driver->domains, dom->id); + vm = virDomainObjListFindByUUID(driver->domains, dom->uuid); umlDriverUnlock(driver); if (!vm) { virReportError(VIR_ERR_NO_DOMAIN, @@ -1704,7 +1704,7 @@ umlDomainDestroyFlags(virDomainPtr dom, virCheckFlags(0, -1); umlDriverLock(driver); - vm = virDomainObjListFindByID(driver->domains, dom->id); + vm = virDomainObjListFindByUUID(driver->domains, dom->uuid); if (!vm) { virReportError(VIR_ERR_NO_DOMAIN, _("no domain with matching id %d"), dom->id); -- GitLab