Print this page
3862 stmf + kstat = kernel panic
3863 stmf_itl_task_start() must check for ilu->ilu_kstat_io is non-null
3864 memory leak in the iSCSI code
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Jeremy Jones <jeremy@delphix.com>
Reviewed by: Sebastien Roy <sebastien.roy@delphix.com>
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Richard Elling <richard.elling@gmail.com>
Approved by: Gordon Ross <gwr@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/lpif.h
          +++ new/usr/src/uts/common/sys/lpif.h
↓ open down ↓ 12 lines elided ↑ open up ↑
  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   * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
       23 + * Copyright (c) 2013 by Delphix. All rights reserved.
  23   24   */
  24   25  #ifndef _LPIF_H
  25   26  #define _LPIF_H
  26   27  
  27   28  /*
  28   29   * Definitions for stmf LUs and lu providers.
  29   30   */
  30   31  
  31   32  #include <sys/stmf_defines.h>
  32   33  #include <sys/stmf.h>
↓ open down ↓ 91 lines elided ↑ open up ↑
 124  125              void *proxy_reg_arg, uint32_t proxy_reg_arg_len, uint32_t type);
 125  126  } stmf_lu_provider_t;
 126  127  
 127  128  stmf_status_t stmf_deregister_lu_provider(stmf_lu_provider_t *lp);
 128  129  stmf_status_t stmf_register_lu_provider(stmf_lu_provider_t *lp);
 129  130  stmf_status_t stmf_register_lu(stmf_lu_t *lup);
 130  131  stmf_status_t stmf_deregister_lu(stmf_lu_t *lup);
 131  132  stmf_status_t stmf_set_lu_access(stmf_lu_t *lup, uint8_t access_state);
 132  133  stmf_status_t stmf_proxy_scsi_cmd(scsi_task_t *, stmf_data_buf_t *dbuf);
 133  134  int stmf_is_standby_port(scsi_task_t *);
 134      -void stmf_lu_xfer_start(struct scsi_task *task);
 135      -void stmf_lu_xfer_done(struct scsi_task *task, boolean_t read,
 136      -    uint64_t xfer_bytes, hrtime_t elapsed_time);
 137  135  
 138  136  #ifdef  __cplusplus
 139  137  }
 140  138  #endif
 141  139  
 142  140  #endif /* _LPIF_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX