On Tue, Oct 13, 2015 at 02:36:10PM +0100, Richard W.M. Jones wrote:
On Tue, Oct 13, 2015 at 03:50:54PM +0300, Roman Kagan wrote:
> If we're given an ISO image as the source of virtio windows drivers, and
> the backend supports hot-adding drives, reuse the same guestfs handle
> that is open for accessing the guest being inspected, rather than
> creating a new one (which would run another virtual machine instance and
> is fairly resource-intensive).
I really don't like this specific patch. Hotplugging is not very
reliable in my experience. The patch tries to work out if hotplugging
is going to work by calling guestfs_add_drive and taking an alternate
path, but I'm not so convinced that would work on other architectures
(eg. hotplugging on aarch64 is in various states between not working
at all and flaky).
Are you observing any benefit with this patch? v2v conversion takes a
long time - I can't believe the extra overhead of creating a handle
could make much difference.
Frankly, I don't have convincing numbers to justify this patch. In my
measurements with test conversions on an overwise idle workstation gives
on the order of 5% gain where statistical variance is just a little
less; OTOH LIBGUESTFS_BACKEND=direct gives statistically significant
30-40% improvement :)
We've been thinking of doing mass VM conversion where an extra qemu
instance for every v2v operation would create significant memory and io
overhead but I don't have a proof of that.
In view of hot-add being unstable as you say, I'm fine with dropping
this patch altogether.
Thanks,
Roman.