Ran into a situation using a shared LVM2 volume group, where if there were volumes locked by a server, the pool could not be started on another server due to "vgchange -aly" not being able to acquire locks on all volumes in the pool. This was referenced in issue #38 on gitlab. Long story short, I've experimented with adding APIs for starting/stopping individual volumes in a storage pool, and implementing that API in the logical backend driver. I'm not a C developer by trade, but all the existing tests pass. I'd like to submit this for some feedback, and see what would be needed to incorporate this, or similar API: https://gitlab.com/dajester2013/libvirt/-/tree/shared-lvm-storage-mods