Print this page
NEX-5428 Backout the 5.0 changes
NEX-2937 Continuous write_same starves all other commands
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Steve Peng <steve.peng@nexenta.com>
NEX-3217 Panic running benchmark at ESX VM
NEX-3204 Panic doing FC rescan from ESXi 5.5u1 with VAAI enabled
        Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
        Reviewed by: Tony Nguyen <tony.nguyen@nexenta.com>
NEX-3023 Panics and hangs when using write_same and compare_and_write
Review by: Bayard Bell <bayard.bell@nexenta.com>
Review by: Rick McNeal <rick.mcneal@nexenta.com>
Review by: Jean McCormack <jean.mccormack@nexenta.com>
Approved by: Jean McCormack <jean.mccormack@nexenta.com>
Related bug: NEX-2723 Kernel panic in xfer_completion code for write_same (0x93) and compare_and_write (0x89)
SUP-765 When a Windows Clustered Shared Volume is placed on a pool under Nexenta HA Cluster control the clustered shared disk looses its PGR3 reservation to the presented zvol.
Reviewed by: Bayard Bell <bayard.bell@nexenta.com>
Reviewed by: Tony Nguyen <tony.nguyen@nexenta.com>
Reviewed by: Josef Sipek <josef.sipek@nexenta.com>
NEX-988 itask_lu_[read|write]_time was inadvertently removed by the Illumos 3862 fix
        
*** 19,28 ****
--- 19,29 ----
   * CDDL HEADER END
   */
  /*
   * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
   * Copyright (c) 2013 by Delphix. All rights reserved.
+  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
   */
  #ifndef _LPIF_H
  #define _LPIF_H
  
  /*
*** 74,91 ****
--- 75,94 ----
                  int eventid, void *arg, uint32_t flags);
          void                    *lu_proxy_reg_arg;
          uint32_t                lu_proxy_reg_arg_len;
          void                    (*lu_dbuf_free)(struct scsi_task *task,
                  struct stmf_data_buf *dbuf);
+         void                    (*lu_task_done)(struct scsi_task *task);
  } stmf_lu_t;
  
  /*
   * Abort cmd
   */
  #define STMF_LU_ABORT_TASK              1
  #define STMF_LU_RESET_STATE             2
  #define STMF_LU_ITL_HANDLE_REMOVED      3
+ #define STMF_LU_SET_ABORT               4
  
  /*
   * Asymmetric access state
   */
  #define STMF_LU_ACTIVE                  0
*** 130,139 ****
--- 133,145 ----
  stmf_status_t stmf_register_lu(stmf_lu_t *lup);
  stmf_status_t stmf_deregister_lu(stmf_lu_t *lup);
  stmf_status_t stmf_set_lu_access(stmf_lu_t *lup, uint8_t access_state);
  stmf_status_t stmf_proxy_scsi_cmd(scsi_task_t *, stmf_data_buf_t *dbuf);
  int stmf_is_standby_port(scsi_task_t *);
+ void stmf_lu_xfer_done(struct scsi_task *task, boolean_t read,
+     hrtime_t elapsed_time);
+ boolean_t stmf_is_pgr_aptpl_always();
  
  #ifdef  __cplusplus
  }
  #endif