[libvirt] [PATCH] qemu: update threading info about domain object refs

Jonathon Jongsma jjongsma at redhat.com
Wed Sep 4 17:23:30 UTC 2019


Since commit fd9ef3b31e, virDomainFindByUUIDRef() no longer exists and
all virDomainObjListFindBy*() functions now increment the reference
count.

Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>
---
 src/qemu/THREADS.txt | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/src/qemu/THREADS.txt b/src/qemu/THREADS.txt
index d17f3f4e0c..aa428fda6a 100644
--- a/src/qemu/THREADS.txt
+++ b/src/qemu/THREADS.txt
@@ -25,27 +25,17 @@ There are a number of locks on various objects
 
   * virDomainObjPtr
 
-    Will be locked after calling any of the virDomainObjListFindBy{ID,Name,UUID}
-    methods.  However, preferred method is qemuDomObjFromDomain() that uses
-    virDomainFindByUUIDRef() which also increases the reference counter and
-    finds the domain in the domain list without blocking all other lookups.
-    When the domain is locked and the reference increased, the preferred way of
-    decrementing the reference counter and unlocking the domain is using the
+    Will be locked and the reference counter will be increased after calling
+    any of the virDomainObjListFindBy{ID,Name,UUID} methods. The preferred way
+    of decrementing the reference counter and unlocking the domain is using the
     virDomainObjEndAPI() function.
 
     Lock must be held when changing/reading any variable in the virDomainObjPtr
 
-    If the lock needs to be dropped & then re-acquired for a short period of
-    time, the reference count must be incremented first using virDomainObjRef().
-    There is no need to increase the reference count if qemuDomObjFromDomain()
-    was used for looking up the domain.  In this case there is one reference
-    already added by that function.
-
     This lock must not be held for anything which sleeps/waits (i.e. monitor
     commands).
 
 
-
   * qemuMonitorPrivatePtr: Job conditions
 
     Since virDomainObjPtr lock must not be held during sleeps, the job
-- 
2.21.0




More information about the libvir-list mailing list