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
This commit is contained in:
Sean Bruno 2013-04-25 23:10:34 +00:00
parent 20e0cc0abb
commit 78d58a11fc
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=249908

View file

@ -3005,7 +3005,7 @@ ciss_cam_action(struct cam_sim *sim, union ccb *ccb)
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;
}