Sense fetching [Was: cdrtools /devel ...]
jamesbrandongooch at gmail.com
Sat Nov 13 01:44:26 UTC 2010
2010/11/5 Alexander Motin <mav at freebsd.org>:
> 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:
> 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...
More information about the freebsd-stable