Author: sbruno
Date: Thu Apr 25 23:10:34 2013
New Revision: 249908
URL: http://svnweb.freebsd.org/changeset/base/249908

Log:
  In the case where the controller supports an sg_list LESS than our predefined
  and tuned value, we would advertise the unsupported value to CAM and it would
  merrily destroy the controller with way too many IO operations.
  
  This manifests itself in a Zero Memory RAID configuration for a P410 and
  possibly other controllers.
  
  Obtained from:        Yahoo! Inc.
  MFC after:    2 weeks

Modified:
  head/sys/dev/ciss/ciss.c

Modified: head/sys/dev/ciss/ciss.c
==============================================================================
--- head/sys/dev/ciss/ciss.c    Thu Apr 25 21:55:29 2013        (r249907)
+++ head/sys/dev/ciss/ciss.c    Thu Apr 25 23:10:34 2013        (r249908)
@@ -3005,7 +3005,7 @@ ciss_cam_action(struct cam_sim *sim, uni
        cpi->transport_version = 2;
        cpi->protocol = PROTO_SCSI;
        cpi->protocol_version = SCSI_REV_2;
-       cpi->maxio = (CISS_MAX_SG_ELEMENTS - 1) * PAGE_SIZE;
+       cpi->maxio = (min(CISS_MAX_SG_ELEMENTS, sc->ciss_cfg->max_sg_length) - 
1) * PAGE_SIZE;
        ccb->ccb_h.status = CAM_REQ_CMP;
        break;
     }
_______________________________________________
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