Print this page
NEX-16215 xvdi_init_dev() truncates the unit address to 7 characters
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
8019 Some PV devices should not be configured in HVM mode
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed by: Basil Crow <basil.crow@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
re #13140 rb4270 hvm_sd module missing dependencies on scsi and cmlb
re #13166 rb4270 Check for Xen HVM even if CPUID signature returns Microsoft Hv
re #13187 rb4270 Fix Xen HVM related warnings
        
@@ -24,10 +24,11 @@
  * Use is subject to license terms.
  */
 
 /*
  * Copyright (c) 2014 by Delphix. All rights reserved.
+ * Copyright 2018 Nexenta Systems, Inc.
  */
 
 /*
  * Xen virtual device driver interfaces
  */
@@ -250,11 +251,11 @@
         boolean_t backend;
         char xsnamebuf[TYPICALMAXPATHLEN];
         char *xsname;
         void *prop_str;
         unsigned int prop_len;
-        char unitaddr[8];
+        char unitaddr[16];
 
         devcls = ddi_prop_get_int(DDI_DEV_T_ANY, dip,
             DDI_PROP_DONTPASS, "devclass", XEN_INVAL);
         vdevnum = ddi_prop_get_int(DDI_DEV_T_ANY, dip,
             DDI_PROP_DONTPASS, "vdev", VDEV_NOXS);
@@ -331,11 +332,11 @@
         /*
          * The unit-address for frontend devices is the name of the
          * of the xenstore node containing the device configuration
          * and is contained in the 'vdev' property.
          * VIF devices are named using an incrementing integer.
-         * VBD devices are either named using the 16-bit dev_t value
+         * VBD devices are either named using the 32-bit dev_t value
          * for linux 'hd' and 'xvd' devices, or a simple integer value
          * in the range 0..767.  768 is the base value of the linux
          * dev_t namespace, the dev_t value for 'hda'.
          */
         (void) snprintf(unitaddr, sizeof (unitaddr), "%d", vdevnum);