Author: mav
Date: Thu Jan 22 14:49:36 2015
New Revision: 277529
URL: https://svnweb.freebsd.org/changeset/base/277529

Log:
  Don't count requests with status sent as overlapping.
  
  While those requests are still in target OOA queue, for initiator they are
  already completed, so tags can be reused.
  
  MFC after:    1 week

Modified:
  head/sys/cam/ctl/ctl.c

Modified: head/sys/cam/ctl/ctl.c
==============================================================================
--- head/sys/cam/ctl/ctl.c      Thu Jan 22 11:12:42 2015        (r277528)
+++ head/sys/cam/ctl/ctl.c      Thu Jan 22 14:49:36 2015        (r277529)
@@ -10826,7 +10826,8 @@ ctl_check_for_blockage(struct ctl_lun *l
              ooa_io->io_hdr.nexus.targ_port)
          && (pending_io->io_hdr.nexus.initid.id ==
              ooa_io->io_hdr.nexus.initid.id))
-        && ((ooa_io->io_hdr.flags & CTL_FLAG_ABORT) == 0))
+        && ((ooa_io->io_hdr.flags & (CTL_FLAG_ABORT |
+             CTL_FLAG_STATUS_SENT)) == 0))
                return (CTL_ACTION_OVERLAP);
 
        /*
@@ -10847,7 +10848,8 @@ ctl_check_for_blockage(struct ctl_lun *l
              ooa_io->io_hdr.nexus.targ_port)
          && (pending_io->io_hdr.nexus.initid.id ==
              ooa_io->io_hdr.nexus.initid.id))
-        && ((ooa_io->io_hdr.flags & CTL_FLAG_ABORT) == 0))
+        && ((ooa_io->io_hdr.flags & (CTL_FLAG_ABORT |
+             CTL_FLAG_STATUS_SENT)) == 0))
                return (CTL_ACTION_OVERLAP_TAG);
 
        /*
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to