Print this page
XXXX don't fail device detach when it's physically removed

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/ddi_impldefs.h
          +++ new/usr/src/uts/common/sys/ddi_impldefs.h
↓ open down ↓ 10 lines elided ↑ open up ↑
  11   11   * and limitations under the License.
  12   12   *
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
       21 +
  21   22  /*
  22   23   * Copyright (c) 1991, 2010, Oracle and/or its affiliates. All rights reserved.
       24 + */
       25 +
       26 +/*
  23   27   * Copyright 2012 Garrett D'Amore <garrett@damore.org>.  All rights reserved.
  24   28   * Copyright 2016 Joyent, Inc.
  25   29   * Copyright (c) 2016 by Delphix. All rights reserved.
       30 + * Copyright 2018 Nexenta Systems, Inc.
  26   31   */
  27   32  
  28   33  #ifndef _SYS_DDI_IMPLDEFS_H
  29   34  #define _SYS_DDI_IMPLDEFS_H
  30   35  
  31   36  #include <sys/types.h>
  32   37  #include <sys/param.h>
  33   38  #include <sys/t_lock.h>
  34   39  #include <sys/ddipropdefs.h>
  35   40  #include <sys/devops.h>
↓ open down ↓ 167 lines elided ↑ open up ↑
 203  208          struct pm_scan  *devi_pm_scan;          /* pm scan info */
 204  209          uint_t          devi_pm_noinvolpm;      /* # of descendents no-invol */
 205  210          uint_t          devi_pm_volpmd;         /* # of voluntarily pm'ed */
 206  211          kmutex_t        devi_pm_lock;           /* pm lock for state */
 207  212          kmutex_t        devi_pm_busy_lock;      /* for component busy count */
 208  213  
 209  214          uint_t          devi_state;             /* device/bus state flags */
 210  215                                                  /* see below for definitions */
 211  216          kcondvar_t      devi_cv;                /* cv */
 212  217          int             devi_ref;               /* reference count */
      218 +        int             devi_gone;              /* devi gone, force clean */
 213  219  
 214  220          dacf_rsrvlist_t *devi_dacf_tasks;       /* dacf reservation queue */
 215  221  
 216  222          ddi_node_class_t devi_node_class;       /* Node class */
 217  223          int             devi_node_attributes;   /* Node attributes: See below */
 218  224  
 219  225          char            *devi_device_class;
 220  226  
 221  227          /*
 222  228           * New mpxio kernel hooks entries
↓ open down ↓ 1031 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX