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.