Author: mav
Date: Mon Oct  5 09:07:15 2015
New Revision: 288743
URL: https://svnweb.freebsd.org/changeset/base/288743

Log:
  MFC r287721: Add HA support for CTL_TASK_I_T_NEXUS_RESET.

Modified:
  stable/10/sys/cam/ctl/ctl.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/cam/ctl/ctl.c
==============================================================================
--- stable/10/sys/cam/ctl/ctl.c Mon Oct  5 09:06:18 2015        (r288742)
+++ stable/10/sys/cam/ctl/ctl.c Mon Oct  5 09:07:15 2015        (r288743)
@@ -11518,13 +11518,24 @@ ctl_i_t_nexus_reset(union ctl_io *io)
        struct ctl_lun *lun;
        uint32_t initidx;
 
+       if (!(io->io_hdr.flags & CTL_FLAG_FROM_OTHER_SC)) {
+               union ctl_ha_msg msg_info;
+
+               msg_info.hdr.nexus = io->io_hdr.nexus;
+               msg_info.task.task_action = CTL_TASK_I_T_NEXUS_RESET;
+               msg_info.hdr.msg_type = CTL_MSG_MANAGE_TASKS;
+               msg_info.hdr.original_sc = NULL;
+               msg_info.hdr.serializing_sc = NULL;
+               ctl_ha_msg_send(CTL_HA_CHAN_CTL, &msg_info,
+                   sizeof(msg_info.task), M_WAITOK);
+       }
+
        initidx = ctl_get_initindex(&io->io_hdr.nexus);
        mtx_lock(&softc->ctl_lock);
        STAILQ_FOREACH(lun, &softc->lun_list, links) {
                mtx_lock(&lun->lun_lock);
                ctl_abort_tasks_lun(lun, io->io_hdr.nexus.targ_port,
-                   io->io_hdr.nexus.initid,
-                   (io->io_hdr.flags & CTL_FLAG_FROM_OTHER_SC) != 0);
+                   io->io_hdr.nexus.initid, 1);
 #ifdef CTL_WITH_CA
                ctl_clear_mask(lun->have_ca, initidx);
 #endif
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to