
On 09/06/2015 17:33, John Ferlan wrote:
I still think I need a tweak on what I posted as an update - the libvirtd restart path is always a bit tricky. The 'pooltype' isn't filled in at XML processing time and virStorageTranslateDiskSourcePool is only called after XML processing (sigh), so relying on it won't work.
Working to figure out something generic and will repost my patch.
John, I got stuck on this and would appreciate some advice to deal with the restart. With a revised patch it's still impossible to get libvirtd reconnecting to VMs using RBD source pool, because the network pool is never active so early. It goes like this : + qemuProcessReconnect ++ virStorageTranslateDiskSourcePool +++ virStoragePoolIsActive ++++ storagePoolIsActive = 0 ++ goto error ++ qemuProcessStop But seconds after it's seen as active. Isn't it a bad idea to consider a failure at translating source pool as an error in this code path? It looks quite dangerous whatever the pool protocol may be. After all the domain is still happily running anyway. Cheers -- Thibault