Print this page
NEX-17502 Slow crash dumps, significantly slower than live core
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
NEX-14025 mr_sas needs to support ses devices
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
SUP-924 lockd: Cannot establish NLM service over <file desc. 9, protocol udp>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
NEX-3121 mr_sas performance issues on all-SSD configurations
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
re #13556, rb4474 LSI Skinny MegaRAID support for mr_sas(7D)
Update mr_sas from illumos-gate (default test)
re #11944 rb3746 need workaround for QEMU bug that induces bad e1000g checksums
re #11242 rb3560 LSI 2208 and 3108 support for mr_sas
        
@@ -14,11 +14,11 @@
  *              Rasheed
  *              Shakeel Bukhari
  */
 
 /*
- * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
+ * Copyright 2018 Nexenta Systems, Inc.
  * Copyright 2015, 2017 Citrus IT Limited. All rights reserved.
  * Copyright 2015 Garrett D'Amore <garrett@damore.org>
  */
 
 
@@ -1106,11 +1106,11 @@
                  * except ldsync command and aen command
                  */
                 if (instance->fw_outstanding <= 2) {
                         break;
                 }
-                drv_usecwait(10*MILLISEC);
+                drv_usecwait(MILLISEC);
                 /* complete commands from reply queue */
                 (void) mr_sas_tbolt_process_outstanding_cmd(instance);
         }
         if (instance->fw_outstanding > 2) {
                 return (1);
@@ -2381,11 +2381,12 @@
                                 /* don't expose physical drives to OS */
                                 if (acmd->islogical &&
                                     (status == MFI_STAT_OK)) {
                                         display_scsi_inquiry((caddr_t)inq);
                                 } else if ((status == MFI_STAT_OK) &&
-                                    inq->inq_dtype == DTYPE_DIRECT) {
+                                    (inq->inq_dtype == DTYPE_DIRECT ||
+                                    inq->inq_dtype == DTYPE_ESI)) {
                                         display_scsi_inquiry((caddr_t)inq);
                                 } else {
                                         /* for physical disk */
                                         status = MFI_STAT_DEVICE_NOT_FOUND;
                                 }
@@ -3557,12 +3558,12 @@
         pds = (struct mrsas_tbolt_pd_info *)
             kmem_zalloc(sizeof (struct mrsas_tbolt_pd_info), KM_SLEEP);
         mrsas_tbolt_get_pd_info(instance, pds, tgt);
         dtype = pds->scsiDevType;
 
-        /* Check for Disk */
-        if ((dtype == DTYPE_DIRECT)) {
+        /* Check for disk/enclosure */
+        if (dtype == DTYPE_DIRECT || dtype == DTYPE_ESI) {
                 if ((dtype == DTYPE_DIRECT) &&
                     (LE_16(pds->fwState) != PD_SYSTEM)) {
                         kmem_free(pds, sizeof (struct mrsas_tbolt_pd_info));
                         return (NDI_FAILURE);
                 }