Tmp. disable BlkVSC (paravirtual IDE) functional? Re: ATA controller and Hyper-V "synthetic storage driver" handle the IDE disks devices ( but not for the CD-ROM) Re: Hyper-V on FreeBSD

Victor Miasnikov vvm at tut.by
Sat May 18 06:06:39 UTC 2013


Hi!

Short:

{{
L.M.>>> Removing our ATA patches, on the other hand, results in a huge
L.M.>>> performance loss. This is because the root file system is managed by the
L.M.>>> ATA driver, which is emulated under Hyper-V.
VVM>> Place on IDE disk only "\boot" ( and bootloader), other on SCSI .
 +
VVM>> Disable both primary and secondary ATA controller prevent use CD-ROM device in VM ( guest)
VVM>> Because "synthetic storage driver" not handle CD-ROM devices
 
  May be temporary disable BlkVSC (paravirtual IDE) functional?

And enable [imm.]after implement work on Hyper-V both CD-ROM and ATA disks

 

==

--- 000\hv_storvsc_drv_freebsd.c Wed Apr 10 06:18:58 2013
+++ hv_storvsc_drv_freebsd.c Wed May 08 11:59:06 2013

. . .

  * Using the type GUID, determine if this is a StorVSC (paravirtual
  * SCSI or BlkVSC (paravirtual IDE) device.

. . .

  if (!memcmp(p, &gBlkVscDeviceType, sizeof(hv_guid))) {
-   return DRIVER_BLKVSC;
+  /* TODO: enable after implement work on Hyper-V both CD-ROM and ATA disks
+   * return DRIVER_BLKVSC;  
+   */
+   return (DRIVER_UNKNOWN);  

. . .

==

}}




Full:

> On Tue, May 7, 2013 at 12:40 AM, Victor Miasnikov <vvm (at) tut.by> wrote:



L.M.>> ==
L.M.>> . . .
L.M.>> On 23.04.2013 17:07, Larry Melia wrote:
L.M.>> . . .
L.M.>>
L.M.>>> Removing our ATA patches, on the other hand, results in a huge
L.M.>>> performance loss. This is because the root file system is managed by the
L.M.>>> ATA driver, which is emulated under Hyper-V.
L.M.>>>
L.M.>> ==

VVM>>
VVM>> Place on IDE disk only "\boot" ( and bootloader), other on SCSI .
VVM>>

>>>
>>> prevent default OS driver from attaching to emulated ATA controller when  Hyper-V
>>>
VVM>>
VVM>> Disable both primary and secondary ATA controller prevent use CD-ROM device in VM ( guest)
VVM>>
VVM>> Because "synthetic storage driver" not handle CD-ROM devices
VVM>> ( IMHO, even more: Hyper-V host work with CD-ROM only as "PCI bus" device)


L.M.>Regarding the CD-ROM drive, there's a known problem with CD-ROM support and using our synthetic storage driver. 
L.M.>At the moment, it's not supported correctly on FreeBSD, 
L.M.>but  . . . there's a workaround  ( details skipped by VVM, {= not all simply , "long story" )  , 
L.M.>which we will try to get working on FreeBSD. 
L.M.>This will be addressed shortly, but . . . ( skipped by VVM ) . 


  May be temporary disable BlkVSC (paravirtual IDE) functional?
And enable after implement work on Hyper-V both CD-ROM and ATA disks


==
--- 000\hv_storvsc_drv_freebsd.c    Wed Apr 10 06:18:58 2013
+++ hv_storvsc_drv_freebsd.c    Wed May 08 11:59:06 2013
@@ -1449,22 +1449,25 @@
 /**
  * @brief Determine type of storage device from GUID
  *
  * Using the type GUID, determine if this is a StorVSC (paravirtual
  * SCSI or BlkVSC (paravirtual IDE) device.
  *
  * @param dev a device
  * returns an enum
  */
 static enum hv_storage_type
 storvsc_get_storage_type(device_t dev)
 {
     const char *p = vmbus_get_type(dev);
 
     if (!memcmp(p, &gBlkVscDeviceType, sizeof(hv_guid))) {
-        return DRIVER_BLKVSC;
+        /* TODO: enable after implement work on Hyper-V both CD-ROM and ATA disks
+         * return DRIVER_BLKVSC;  
+         */
+        return (DRIVER_UNKNOWN);   
     } else if (!memcmp(p, &gStorVscDeviceType, sizeof(hv_guid))) {
         return DRIVER_STORVSC;
     }
     return (DRIVER_UNKNOWN);
 }
 

==


Best regards, Victor Miasnikov
Blog:  http://vvm.blog.tut.by/


P.S.  Sorry, for code style -- is primary demo of _idea_ 





More information about the freebsd-virtualization mailing list