Print this page
NEX-3622 COMSTAR should have per remote port kstats for I/O and latency
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
*** 35,44 ****
--- 35,45 ----
#include <sys/socket.h>
#include <sys/strsubr.h>
#include <sys/note.h>
#include <sys/sdt.h>
+ #include <sys/kstat.h>
#include <sys/stmf.h>
#include <sys/stmf_ioctl.h>
#include <sys/portif.h>
#include <sys/idm/idm.h>
*** 209,218 ****
--- 210,220 ----
static void
iscsit_sess_unref(void *ist_void)
{
iscsit_sess_t *ist = ist_void;
stmf_scsi_session_t *iss;
+ char prop_buf[KSTAT_STRLEN + 1];
/*
* State machine has run to completion, destroy session
*
* If we have an associated STMF session we should clean it
*** 223,232 ****
--- 225,237 ----
*/
mutex_enter(&ist->ist_mutex);
ASSERT(ist->ist_conn_count == 0);
iss = ist->ist_stmf_sess;
if (iss != NULL) {
+ (void) snprintf(prop_buf, sizeof (prop_buf),
+ "peername_%"PRIxPTR"", (uintptr_t)ist);
+ stmf_remove_rport_info(iss, prop_buf);
stmf_deregister_scsi_session(ist->ist_lport, iss);
kmem_free(iss->ss_rport_id, sizeof (scsi_devid_desc_t) +
strlen(ist->ist_initiator_name) + 1);
stmf_remote_port_free(iss->ss_rport);
if (iss->ss_rport_alias)