Sense fetching [Was: cdrtools /devel ...]

Alexander Motin mav at FreeBSD.org
Sat Nov 13 09:34:14 UTC 2010


Brandon Gooch wrote:
> 2010/11/5 Alexander Motin <mav at freebsd.org>:
>> Hi.
>>
>> I've reviewed tests that scgcheck does to SCSI subsystem. It shown
>> combination of several issues in both CAM, ahci(4) and cdrtools itself.
>> Several small patches allow us to pass most of that tests:
>> http://people.freebsd.org/~mav/sense/
>>
>> ahci_resid.patch: Add support for reporting residual length on data
>> underrun. SCSI commands often returns results shorter then expected.
>> Returned value allows application to know/check how much data it really
>> has. It is also important for sense fetching, as ATAPI and USB devices
>> return sense as data in response to REQUEST_SENSE command.
>>
>> sense_resid.patch: When manually requesting sense data (ATAPI or USB),
>> request only as much data as user requested (not the fixed structure
>> size), and return respective sense residual length.
>>
>> pass_autosence.patch: Unless CAM_DIS_AUTOSENSE is set, always fetch
>> sense if not done by SIM, independently of CAM_PASS_ERR_RECOVER. As soon
>> as device freeze released before returning to user-level, user-level
>> application by definition can't reliably fetch sense data if some other
>> application (like hald) tries to access device same time.
>>
>> cdrtools.patch: Make libscg (part of cdrtools) on FreeBSD to submit
>> wanted sense length to CAM and do not clear sense return buffer. It is
>> mostly cosmetics, important probably only for scgcheck.
>>
>> Testers and reviewers welcome. I am especially interested in opinion
>> about pass_autosence.patch -- may be we should lower sense fetching even
>> deeper, to make it work for all cam_periph_runccb() consumers.
> 
> Hey mav, sorry to chime in after so long here, but have some of these
> patches been committed (as of r215179)?
> 
> Which patches are still applicable for testing? I assume the cdrtools
> patch for sure...

Now uncommitted pass_autosence.patch and possibly cdrtools.patch.

-- 
Alexander Motin


More information about the freebsd-scsi mailing list