Print this page
NEX-8020 illumos nvme changes
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
NEX-6131 support EUI64 in blkdev
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
NEX-4427 blkdev should provide the device_error kstat for iostat -E
Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
NEX-4424 kstat module needs cleanup
Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
NEX-4420 format(1M) should be able to use device inquiry properties
Reviewed by: Dan McDonald <danmcd@omniti.com>
NEX-4419 blkdev and blkdev drivers should provide inquiry properties
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Adding AoE support to nza-kernel

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/blkdev.h
          +++ new/usr/src/uts/common/sys/blkdev.h
↓ open down ↓ 88 lines elided ↑ open up ↑
  89   89          diskaddr_t              x_blkno;
  90   90          size_t                  x_nblks;
  91   91          ddi_dma_handle_t        x_dmah;
  92   92          ddi_dma_cookie_t        x_dmac;
  93   93          unsigned                x_ndmac;
  94   94          caddr_t                 x_kaddr;
  95   95          unsigned                x_flags;
  96   96  };
  97   97  
  98   98  #define BD_XFER_POLL            (1U << 0)       /* no interrupts (dump) */
       99 +#define BD_XFER_MHD_TKOWN       (1U << 1)
      100 +#define BD_XFER_MHD_RELEASE     (1U << 2)
      101 +#define BD_XFER_MHD_STATUS      (1U << 3)
      102 +#define BD_XFER_MHD_QRESERVE    (1U << 4)
      103 +#define BD_XFER_MHD_ENFAILFAST  (1U << 5)
  99  104  
 100  105  struct bd_drive {
 101  106          uint32_t                d_qsize;
 102  107          uint32_t                d_maxxfer;
 103  108          boolean_t               d_removable;
 104  109          boolean_t               d_hotpluggable;
 105  110          int                     d_target;
 106  111          int                     d_lun;
 107  112          size_t                  d_vendor_len;
 108  113          char                    *d_vendor;
↓ open down ↓ 34 lines elided ↑ open up ↑
 143  148  #define BD_INFO_FLAG_READ_ONLY          (1U << 2)
 144  149  
 145  150  struct bd_ops {
 146  151          int     o_version;
 147  152          void    (*o_drive_info)(void *, bd_drive_t *);
 148  153          int     (*o_media_info)(void *, bd_media_t *);
 149  154          int     (*o_devid_init)(void *, dev_info_t *, ddi_devid_t *);
 150  155          int     (*o_sync_cache)(void *, bd_xfer_t *);
 151  156          int     (*o_read)(void *, bd_xfer_t *);
 152  157          int     (*o_write)(void *, bd_xfer_t *);
      158 +        int     (*o_reserve)(void *, bd_xfer_t *);
 153  159  };
 154  160  
 155  161  #define BD_OPS_VERSION_0                0
 156  162  
 157  163  struct bd_errstats {
 158  164          /* these are managed by blkdev itself */
 159  165          kstat_named_t   bd_softerrs;
 160  166          kstat_named_t   bd_harderrs;
 161  167          kstat_named_t   bd_transerrs;
 162  168          kstat_named_t   bd_model;
↓ open down ↓ 41 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX