Print this page
NEX-18214 unplug of multipathed disks doesn't produce EC_DEV_REMOVE/ESC_DISK event
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Revert "NEX-18214 unplug of multipathed disks doesn't produce EC_DEV_REMOVE/ESC_DISK event"
This reverts commit b0f7e47b60b115c1bb6c07dc5aa150cc519790e7.
NEX-18214 unplug of multipathed disks doesn't produce EC_DEV_REMOVE/ESC_DISK event
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
NEX-17446 cleanup of hot unplugged disks fails intermittently
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
NEX-17521 Unable to install Nexentastor on Lenovo SR650 platform
8702 PCI addresses with physaddr > 0xffffffff can't be mapped in
8703 pci/npe DDI_CTLOPS_REGSIZE should be 64-bit aware
8704 want OFF_MAX in the kernel
8705 unsupported 64-bit prefetch memory on pci-pci bridge
Contributed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Albert Lee <trisk@forkgnu.org>
9550 Create hub symlinks for xhci devices
Contributed by: Alexander Pyhalov <apyhalov@gmail.com>
Reviewed by: Andy Stormont <astormont@racktopsystems.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>

@@ -16,15 +16,17 @@
  * fields enclosed by brackets "[]" replaced with your own identifying
  * information: Portions Copyright [yyyy] [name of copyright owner]
  *
  * CDDL HEADER END
  */
+
 /*
  * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright 2012 Garrett D'Amore <garrett@damore.org>.  All rights reserved.
  * Copyright 2016 Joyent, Inc.
  * Copyright (c) 2016 by Delphix. All rights reserved.
+ * Copyright 2018 Nexenta Systems, Inc.
  */
 
 #ifndef _SYS_DDI_IMPLDEFS_H
 #define _SYS_DDI_IMPLDEFS_H
 

@@ -283,14 +285,10 @@
 
         /* Owned by hotplug framework */
         struct ddi_hp_cn_handle *devi_hp_hdlp;   /* hotplug handle list */
 
         struct in_node  *devi_in_node; /* pointer to devinfo node's in_node_t */
-
-        /* detach event data */
-        char    *devi_ev_path;
-        int     devi_ev_instance;
 };
 
 #define DEVI(dev_info_type)     ((struct dev_info *)(dev_info_type))
 
 /*

@@ -612,18 +610,23 @@
 #define DEVI_RETIRING           0x00000200 /* being evaluated for retire */
 #define DEVI_R_CONSTRAINT       0x00000400 /* constraints have been applied  */
 #define DEVI_R_BLOCKED          0x00000800 /* constraints block retire  */
 #define DEVI_CT_NOP             0x00001000 /* NOP contract event occurred */
 #define DEVI_PCI_DEVICE         0x00002000 /* dip is PCI */
+#define DEVI_GONE               0x00004000 /* device is physically removed */
 
 #define DEVI_BUSY_CHANGING(dip) (DEVI(dip)->devi_flags & DEVI_BUSY)
 #define DEVI_BUSY_OWNED(dip)    (DEVI_BUSY_CHANGING(dip) &&     \
         ((DEVI(dip))->devi_busy_thread == curthread))
 
 #define DEVI_IS_PCI(dip)        (DEVI(dip)->devi_flags & DEVI_PCI_DEVICE)
 #define DEVI_SET_PCI(dip)       (DEVI(dip)->devi_flags |= (DEVI_PCI_DEVICE))
 
+#define DEVI_IS_GONE(dip)       (DEVI(dip)->devi_flags & DEVI_GONE)
+#define DEVI_SET_GONE(dip)      (DEVI(dip)->devi_flags |= DEVI_GONE)
+#define DEVI_UNSET_GONE(dip)    (DEVI(dip)->devi_flags &= ~DEVI_GONE)
+
 char    *i_ddi_devi_class(dev_info_t *);
 int     i_ddi_set_devi_class(dev_info_t *, char *, int);
 
 /*
  * This structure represents one piece of bus space occupied by a given