Debian and Hyper-V VM drivers

Mike Sterling mike.sterling at microsoft.com
Mon Jun 25 04:07:24 UTC 2012


On Saturday, June 23, 2012 9:37 PM, Ben Hutchings [mailto:ben at decadent.org.uk] wrote:
> On Sun, 2012-06-10 at 16:18 +0100, Ben Hutchings wrote:
> [...]
> > The problems I've found so far (by inspection):
> >
> > 1. The daemon leaks a file handle on every configuration update.
> 
> Fixed by the attached 'tools-hv-fix-file-handle-leak.patch'
> 
> > 2. It doesn't check for write failures, and it doesn't check correctly
> > for read failures.
> 
> Fixed by the attached 'tools-hv-check-for-read-write-errors.patch'.
> 
> > 3. It stores state in /var/opt/hyperv, which is only appropriate for
> > programs installed in /opt.  This should be configurable at build time.
> 
> Changed by the attached 'tools-hv-fix-var-subdirectory.patch', but not made
> configurable (because I don't see the need).
> 
> > 4. The protocol between driver and daemon does not appear to be stable.
> > Do they need to be upgraded in lockstep, or will either be backward-
> > compatible with older versions of the other?
> 
> Please answer this.
> 
> > 5. The daemon uses incorrect types for strings, resulting in a large
> > number of compiler warnings when building with 'gcc -Wall' (which is
> > generally good practice).
> 
> Fixed by the attached 'tools-hv-fix-string-types.patch'.
> 
> > 6. When and how should the daemon be started?  There is no init script
> > (or upstart job) provided, either in the linux source or the Ubuntu
> > packaging.
> 
> I downloaded the Linux Integration Services from
> <https://www.microsoft.com/en-us/download/details.aspx?id=28188> and
> found an init script in that.
> 
> I also found <https://launchpad.net/ubuntu/+source/hv-kvp-daemon-init>,
> but this is not useful for Debian (we don't use upstart by default).
> 
> > [Less important:]
> > 7. There is no Makefile, and the one added by Ubuntu is incorrect
> > (make install doesn't respect $(DESTDIR)).
> 
> Still TBD.
> 
> > 8. The daemon doesn't detect or parse the OS release correctly (even,
> > so far as I can see, on the distributions which it has explicit
> > support for).
> 
> Fixed by the attached 'tools-hv-parse-etc-os-release.patch'.
> 
> > 9. Permissions of S_IRUSR | S_IWUSR | S_IROTH (octal 604) make no sense.
> 
> Fixed by the attached 'tools-hv-fix-permissions.patch'.
> 
> > According to the manual page, 'This pairing allows the Hyper-V host to
> > pass configuration information (such as IP addresses) to the guest...'
> > but I don't see any sign that the daemon actually applies any
> > configuration.  Is this intended to be done by some other 'guest tool'
> > distributed by Microsoft?  Is that the reason for (3) and/or (6)?
> 
> I'm assuming this is not the case, since the package I downloaded from MS
> did not contain any extra tools.  So the manual page should probably be
> fixed too.
> 
> I have *not* tested these changes beyond actually compiling, as I don't have
> a Hyper-V installation on which to test.  Would you be able to test a binary
> package, or provide remote access to a suitable VM?
> 
> It is still important that I get an answer to question 4.

Hi Ben,

Thanks for following up. I'm on holiday this week, and then I'll be starting in a new role. I'm adding two of my colleagues in the Open Source Group, KY Srinivasan (developer) and Tom Hanrahan (program manager) who will own this moving forward.

KY will be best to answer #4, and we should be able to test a binary package or provide SSH access to a VM. However, without access to the host, there's not a lot of value in just having access to the VM.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tools-hv-patches.tar.gz
Type: application/x-gzip
Size: 4201 bytes
Desc: tools-hv-patches.tar.gz
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20120625/eb6b9022/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/octet-stream
Size: 845 bytes
Desc: signature.asc
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20120625/eb6b9022/attachment.obj>


More information about the kernel-team mailing list