Accidentally deleted your reply Richard, sorry.
ZFS 'pools' are aggregates composed of some number of real devices. LVM
confuses me so I don't know what they map on to, but the basic idea is
that you can carve filesystems out of such pools at will.
You can also carve out 'volumes' - these appear as a disk device in
/dev/zvol/dsk/poolname/volumename
It's the latter that you use in Xen to hold domU root filesystems (or
you can use a normal file on whatever file system, or a real device, as
desired).
What might be tricky is anything that claims to return "space left",
depending exactly on what you want it to mean. But (I think) certain LVM
setups have similar issues.
regards
john