All libvirt volume management is now handled through virsh instead of
direct file system access. As a volume cannot be uploaded in an atomic
way, the current active volume is now tracked in a file on disk.
This may allow us to run the script with less privileges and use polkit
for libvirt access control[1].
[1] https://libvirt.org/aclpolkit.html