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,33 **** --- 24,34 ---- * 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,260 **** boolean_t backend; char xsnamebuf[TYPICALMAXPATHLEN]; char *xsname; void *prop_str; unsigned int prop_len; ! char unitaddr[8]; 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); --- 251,261 ---- boolean_t backend; char xsnamebuf[TYPICALMAXPATHLEN]; char *xsname; void *prop_str; unsigned int prop_len; ! 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,341 **** /* * 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 * 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); --- 332,342 ---- /* * 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 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);