RFC: ATA to CAM integration patch
Alexander Motin
mav at FreeBSD.org
Sat Jun 27 16:55:19 UTC 2009
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
-------------- next part --------------
--- 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) {
More information about the freebsd-current
mailing list