11220 Want support for hyper-v

Review Request #1990 — Created June 8, 2019 and updated — Latest diff uploaded


Author: George Wilson george.wilson@delphix.com
Portions Contributed by: Brad Lewis brad.lewis@delphix.com
Portions Contributed by: Pavel Zakharov pavel.zakharov@delphix.com

For reference, this wad includes:

From Delphix:

  • DLPX-52519 DxOS needs support for Hyper-V drivers
  • DLPX-52831 guid is leaked in storvsc_config_one
  • AZ-307 rem_drv of hv_storvsc driver hangs
  • AZ-308 Storvsc driver needs polling capability.
  • ATA reads timeout after Azure update
  • Fix missing mutex_exit() calls.

And a couple of very minor updates from OmniOS to cater for changes in gate:

  • Adjust hyperv for new C99 Makefile macros
  • Remove duplicate definition of __packed
  • Do not package 32bit kernel drivers


This batch represents the initial code drop from Delphix. It works generally well, but it has the following known issues:

  • Panics if booted in a VM with a single virtual CPU
  • Panics if booted with low memory (< 1GiB)
  • Occasionally panics on first boot
  • Time-sync does not function and error messages are logged
  • Console output is too verbose

These are fixed in OmniOS and will be addressed in follow-up issues/RTIs.

In addition to being used to run Delphix in Azure, These drivers have been running in various OmniOS development VMs under Hyper-V on Windows 10 since they were integrated.