After a chat with some people at Red Hat, I've decided to withdraw the
'bmap*' APIs.
I think we may be able to do this better by having a go at mapping
blocks through the layers. We only really need to cover FIEMAP
(filesystem extent mapping API), device-mapper, and partitions.
This ignores MD (RAID etc) but that's not very common on VMs. It also
means we're mapping through to the virtual disk address, so ignoring
the container format underneath (qcow2 etc).
Unfortunately ntfs-3g does not have the FIEMAP ioctl, so we'd need to
add that.
In other words - a chunk of work, but it could mean that we can get
accurate block maps.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html