These are mostly notes to remember later: In such a setup the pool definition has the base pool path
$ virsh pool-dumpxml internal <pool type='zfs'> <name>internal</name> <uuid>5e83970c-dc95-41af-bd10-9d9001dc9cba</uuid> <capacity unit='bytes'>3170893824</capacity> <allocation unit='bytes'>2147573760</allocation> <available unit='bytes'>1023320064</available> <source> <name>internal</name> </source> <target> <path>/dev/zvol/internal</path> </target> </pool>
The volume holds the respective subvol foo
$ virsh vol-dumpxml --pool internal foo <volume type='block'> <name>foo</name> <key>/dev/zvol/internal/foo</key> <source> </source> <capacity unit='bytes'>2147483648</capacity> <allocation unit='bytes'>2147483648</allocation> <target> <path>/dev/zvol/internal/foo</path> </target> </volume>
And confimring as well that /etc/apparmor.d/libvirt/libvirt-<UUID>.files has no references to either /dev/zvol/internal/foo nor the symlink target.
These are mostly notes to remember later:
In such a setup the pool definition has the base pool path
$ virsh pool-dumpxml internal internal< /name> 5e83970c- dc95-41af- bd10-9d9001dc9c ba</uuid> >3170893824< /capacity> >2147573760< /allocation> >1023320064< /available> internal< /name> /dev/zvol/ internal< /path>
<pool type='zfs'>
<name>
<uuid>
<capacity unit='bytes'
<allocation unit='bytes'
<available unit='bytes'
<source>
<name>
</source>
<target>
<path>
</target>
</pool>
The volume holds the respective subvol foo
$ virsh vol-dumpxml --pool internal foo /dev/zvol/ internal/ foo</key> >2147483648< /capacity> >2147483648< /allocation> /dev/zvol/ internal/ foo</path>
<volume type='block'>
<name>foo</name>
<key>
<source>
</source>
<capacity unit='bytes'
<allocation unit='bytes'
<target>
<path>
</target>
</volume>
And confimring as well that /etc/apparmor. d/libvirt/ libvirt- <UUID>. files has no references to either /dev/zvol/ internal/ foo nor the symlink target.