svn commit: r277529 - head/sys/cam/ctl

Alexander Motin mav at FreeBSD.org
Thu Jan 22 14:49:37 UTC 2015


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);
 
 	/*


More information about the svn-src-all mailing list