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.