Date: Thu, 25 Apr 2013 23:10:35 +0000 (UTC) From: Sean Bruno <sbruno@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r249908 - head/sys/dev/ciss Message-ID: <201304252310.r3PNAZ1B078114@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304252310.r3PNAZ1B078114>