root@beaver:~# /sbin/zpool get -Hp health,size,free,allocated zfs/images
cannot open 'zfs/images': invalid character '/' in pool name
Right. It seems that this part of libvirt thinks that it has full reign over a zfs *pool*, whereas everything else is happy to create child datasets of an existing *dataset*
Furthermore: when the zpool command fails, libvirt is still happy to zap all the existing defined libvirt volumes (or it has already done so).
And using strace on libvirtd, I see it's running this:
[pid 5806] execve( "/sbin/ zpool", ["/sbin/zpool", "get", "-Hp", "health, size,free, allocated" , "zfs/images"], 0x7fffedc8b6c8 /* 6 vars */) = 0
Which is not a valid command:
root@beaver:~# /sbin/zpool get -Hp health, size,free, allocated zfs/images
cannot open 'zfs/images': invalid character '/' in pool name
Right. It seems that this part of libvirt thinks that it has full reign over a zfs *pool*, whereas everything else is happy to create child datasets of an existing *dataset*
Furthermore: when the zpool command fails, libvirt is still happy to zap all the existing defined libvirt volumes (or it has already done so).