[libvirt] storage lock issues

Cedric Bosdonnat cbosdonnat at suse.com
Thu Nov 2 10:20:19 UTC 2017


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




More information about the libvir-list mailing list