Print this page
NEX-9981 Deadman timer panic from idm_refcnt_wait_ref thread while offlining iSCSI targets
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>
NEX-3746 Panic seen if iSCSI Initiator sends a SCSI Response packet to target
NEX-3777 COMSTAR iscsi/io test can panic the target running 5.0
NEX-3785 This is on 5.0 release and iSCSI target can panic while running iSCSI mpxio disable test
Reviewed by: Steve Peng <steve.peng@nexenta.com>
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>
NEX-3287 functional/cli_root/zfs_set/readonly_001_pos fails
Reviewed by: Steve Peng <steve.peng@nexenta.com>
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
NEX-3313 Extraneous ASSERT in idm code needs to be removed.
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>
Reviewed by: Steve Peng <steve.peng@nexenta.com>
SUP-930 Freed and reused idm_conn_t buffer leads to system panic.
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>
Reviewed by: Steve Ping <steve.ping@nexenta.com>
*** 20,30 ****
*/
/*
* 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.
*/
#include <sys/cpuvar.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
--- 20,30 ----
*/
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013 by Delphix. All rights reserved.
! * Copyright 2017 Nexenta Systems, Inc. All rights reserved.
*/
#include <sys/cpuvar.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
*** 1241,1251 ****
} else {
ic->ic_transport_ops->it_ini_conn_disconnect(ic);
}
/* Stop executing active tasks */
! idm_task_abort(ic, NULL, AT_INTERNAL_SUSPEND);
/* Start logout timer */
IDM_SM_TIMER_CHECK(ic);
ic->ic_state_timeout = timeout(idm_cleanup_timeout, ic,
drv_usectohz(IDM_CLEANUP_SECONDS*1000000));
--- 1241,1251 ----
} else {
ic->ic_transport_ops->it_ini_conn_disconnect(ic);
}
/* Stop executing active tasks */
! (void) idm_task_abort(ic, NULL, AT_INTERNAL_SUSPEND);
/* Start logout timer */
IDM_SM_TIMER_CHECK(ic);
ic->ic_state_timeout = timeout(idm_cleanup_timeout, ic,
drv_usectohz(IDM_CLEANUP_SECONDS*1000000));
*** 1297,1307 ****
(void) idm_notify_client(ic, CN_CONNECT_LOST,
(uintptr_t)(ic->ic_last_state == CS_S4_IN_LOGIN));
}
/* Abort all tasks */
! idm_task_abort(ic, NULL, AT_INTERNAL_ABORT);
/*
* Handle terminal state actions on the global taskq so
* we can clean up all the connection resources from
* a separate thread context.
--- 1297,1307 ----
(void) idm_notify_client(ic, CN_CONNECT_LOST,
(uintptr_t)(ic->ic_last_state == CS_S4_IN_LOGIN));
}
/* Abort all tasks */
! (void) idm_task_abort(ic, NULL, AT_INTERNAL_ABORT);
/*
* Handle terminal state actions on the global taskq so
* we can clean up all the connection resources from
* a separate thread context.