ff57a71 storage: Remove rwlocks during virStoragePoolObjListForEach

Authored and Committed by John Ferlan 5 years ago
    storage: Remove rwlocks during virStoragePoolObjListForEach
    
    Remove the locks since they are unnecessary and would cause
    a hang for a driver reload/restart when a transient pool was
    previously active as a result of the call:
    
    virStoragePoolUpdateInactive:
    ...
        if (!virStoragePoolObjGetConfigFile(obj)) {
            virStoragePoolObjRemove(driver->pools, obj);
    ...
    
    stack trace:
    
    Thread 17 (Thread 0x7fffcc574700 (LWP 12465)):
    ...pthread_rwlock_wrlock
    ...virRWLockWrite
    ...virObjectRWLockWrite
    ...virStoragePoolObjRemove
    ...virStoragePoolUpdateInactive
    ...storagePoolUpdateStateCallback
    ...virStoragePoolObjListForEachCb
    ...virHashForEach
    ...virStoragePoolObjListForEach
    ...storagePoolUpdateAllState
    ...storageStateInitialize
    ...virStateInitialize
    ...daemonRunStateInit
    ...virThreadHelper
    ...start_thread
    ...clone
    
    Introduced by commit id 4b2e0ed6e3.
    
    Signed-off-by: John Ferlan <jferlan@redhat.com>
    ACKed-by: Michal Privoznik <mprivozn@redhat.com>
    
        
file modified
+6 -2