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 ----