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>
3621 ZFS LU stuck in the offlining state
Reviewed by: Sebastien Roy <sebastien.roy@delphix.com>
Reviewed by: Jeff Biseda <jeff.biseda@delphix.com>
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Approved by: Christopher Siden <christopher.siden@delphix.com>

*** 18,27 **** --- 18,28 ---- * * CDDL HEADER END */ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ #ifndef _STMF_IMPL_H #define _STMF_IMPL_H #include <sys/stmf_defines.h>
*** 95,104 **** --- 96,106 ---- struct stmf_i_scsi_task *ilu_free_tasks; struct stmf_itl_data *ilu_itl_list; kstat_t *ilu_kstat_info; kstat_t *ilu_kstat_io; kmutex_t ilu_kstat_lock; + kcondvar_t ilu_offline_pending_cv; /* point to the luid entry in stmf_state.stmf_luid_list */ void *ilu_luid; } stmf_i_lu_t;
*** 162,184 **** int irport_refcnt; id_t irport_instance; avl_node_t irport_ln; } stmf_i_remote_port_t; - typedef struct stmf_i_itl_kstat { - char iitl_kstat_nm[KSTAT_STRLEN]; - char iitl_kstat_lport[STMF_TGT_NAME_LEN]; - char iitl_kstat_guid[STMF_GUID_INPUT + 1]; - char *iitl_kstat_strbuf; - int iitl_kstat_strbuflen; - kstat_t *iitl_kstat_info; - kstat_t *iitl_kstat_taskq; - kstat_t *iitl_kstat_lu_xfer; - kstat_t *iitl_kstat_lport_xfer; - avl_node_t iitl_kstat_ln; - } stmf_i_itl_kstat_t; - /* * ilport flags */ #define ILPORT_FORCED_OFFLINE 0x01 #define ILPORT_SS_GOT_INITIAL_LUNS 0x02 --- 164,173 ----
*** 323,338 **** typedef struct stmf_itl_data { uint32_t itl_counter; uint8_t itl_flags; uint8_t itl_hdlrm_reason; uint16_t itl_lun; - char *itl_kstat_strbuf; - int itl_kstat_strbuflen; - kstat_t *itl_kstat_info; - kstat_t *itl_kstat_taskq; - kstat_t *itl_kstat_lu_xfer; - kstat_t *itl_kstat_lport_xfer; void *itl_handle; struct stmf_i_lu *itl_ilu; struct stmf_i_scsi_session *itl_session; struct stmf_itl_data *itl_next; } stmf_itl_data_t; --- 312,321 ----