Hi all,
I'm investigating a crash in the storage driver, and it seems the solution
is not as obvious as I wanted it.
Basically what happens is that libvirtd crashes due to the pool refresh thread
clearing the list of pool volumes while someone is adding a new volume. Here
is the valgrind log I have for that:
http://paste.opensuse.org/58733866
I tried adding a call to virStoragePoolObjLock() in the
virStorageVolPoolRefreshThread(), since the storageVolCreateXML()
appears to have it, but I'm getting a dead lock. Here are the waiting
threads I got from gdb:
http://paste.opensuse.org/45961070
Any idea what would be a proper fix for that? My vision of the storage
drivers locks is too limited it seems ;)
--
Cedric