[Libguestfs] [PATCH nbdkit 7/8] vddk: Implement extents.
Richard W.M. Jones
rjones at redhat.com
Wed Mar 27 13:44:57 UTC 2019
FYI I now have a VDDK extents function which now works and is tested
against a real server on real guests:
https://github.com/rwmjones/nbdkit/commit/b327a79ee3fa0af0fe27d5d18ac7b5f44a7c243e
There were quite a lot of changes:
- The offset and length of the hole before each block was
plain wrong: fixed.
- I needed to add the implicit hole after the list of blocks
returned by QueryAllocatedBlocks.
- Don't consider req_one until we've got past the initial offset.
- Centralise the add_extents code into one function and add
a debug flag (-D) so we can debug it.
Unfortunately qemu's habit of setting req_one on every request hurts
performance quite a lot, because calling QueryAllocatedBlocks is very
expensive. You end up having to call QAB before each pread and
constantly re-requesting data which we've already asked for. We might
cache the QAB output but that's complex and hairy.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
More information about the Libguestfs
mailing list