Date: Sat, 27 Jun 2009 19:55:09 +0300 From: Alexander Motin <mav@FreeBSD.org> To: Pieter de Goeje <pieter@degoeje.nl> Cc: freebsd-current@freebsd.org, scottl@freebsd.org Subject: Re: RFC: ATA to CAM integration patch Message-ID: <4A464EED.3070700@FreeBSD.org> In-Reply-To: <200906271419.49329.pieter@degoeje.nl> References: <4A4517BE.9040504@FreeBSD.org> <200906271419.49329.pieter@degoeje.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------050502010606090600020306 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Pieter de Goeje wrote: > However there is a problem with camcontrol: > > nox# camcontrol devlist > cam_periph_mapmem: attempt to map 79200 bytes, which is greater than DFLTPHYS(65536) > camcontrol: error sending CAMIOCOMMAND ioctl: Argument list too long Thank you for report. I have missed this due to increased DFLTPHYS value in my kernel. Attached trivial patch fixes that. > nox# camcontrol inquiry ada0 > ahcich1: ahci_ch_intr ERROR is 48000000 cs 00000100 ss 00000000 rs 00000100 tfd 451 serr 00000000 > > nox# camcontrol inquiry ada1 > ahcich7: ahci_ch_intr ERROR is 40000001 cs 00002000 ss 00000000 rs 00002000 tfd 451 serr 00000000 This is not a problem. ATA disks does not have SCSI INQUIRY command. They use own IDENTIFY instead. inquiry should work for ATAPI devices, as they are SCSI deep inside. -- Alexander Motin --------------050502010606090600020306 Content-Type: text/plain; name="camcontrol.size.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="camcontrol.size.patch" --- camcontrol.c.prev 2009-06-14 17:29:55.000000000 +0300 +++ camcontrol.c 2009-06-27 19:43:55.000000000 +0300 @@ -321,7 +321,7 @@ getdevtree(void) ccb.ccb_h.target_lun = CAM_LUN_WILDCARD; ccb.ccb_h.func_code = XPT_DEV_MATCH; - bufsize = sizeof(struct dev_match_result) * 100; + bufsize = sizeof(struct dev_match_result) * 50; ccb.cdm.match_buf_len = bufsize; ccb.cdm.matches = (struct dev_match_result *)malloc(bufsize); if (ccb.cdm.matches == NULL) { --------------050502010606090600020306--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A464EED.3070700>