Age | Commit message (Collapse) | Author |
|
SCSI when you're talking to a scsi to ata translation layer (satl). this
implements the ata command ioctl handler in scsi_ioctl.c that wraps the
ata command requests up in these scsi commands and then issues them against
the hardware. this cuts atascsi over to interpreting these scsi commands
rather than the ioctls directly.
this should allow mpi users (with a relatively recent firmware) to use
atactl against their SATA disks. i cant test cos my mpi(4) parts are too
old to either support these scsi commands or too old to take recent
firmwares.
ok marco@ @krw tested by krw@ and me on ahci/atascsi
|
|
what to tell the user. Silences cdio and cdrecord while probing
media.
ok dlg@ marco@ deraadt@
|
|
and do the appropriate sleeps, retries, error processing, and finally
returns an errno style value to the caller.
this cuts scsi_scsi_cmd, the ioctl code, sd_flush, and scsi_inquiry over
to scsi_xs_sync.
ok krw@
|
|
the two issues affecting it last time are gone. the first, mishandling of
TRY_AGAIN_LATER is not relevant now that krw got rid of TRY_AGAIN_LATER.
the second, the misbehaving IBM disk was found to be a problem with siop
using ordered tags on most ops combined with the speed of the new code.
putting this in so we can move forward.
ok krw@ "commit please" marco@
|
|
causing a weird problems on an alpha and also appears responsible for
isp(4) weirdness i havent had a chance to examine yet.
sigh, this makes me sad.
|
|
the fix for the NO_CCB breakage will follow shortly.
tested by krw@ marco@ johan@
ok krw@ marco@
|
|
TRY_AGAIN_LATER. NO_CCB is a timer based mechanism that can trivially
be made to fail by running IO to two or more disks simultaneously. The
TRY_AGAIN_LATER thing is more subtle because it now is a permanent
failure instead of transient however this is much harder to hit because
something must have gone wrong before it hits.
ok deraadt krw miod
|
|
may or may not be possible to get NULL these days, but paranoia and
consistancy of usage are nice. Prompted by looking at PR#6247 from
Steven Mestdagh.
ok dlg@
|
|
|
|
with it which became extremely annoying with what mpath wants to
do.
the major change is a new interface for submitting scsi commands.
previously the only way for drivers like sd, cd, st, etc to push
commands onto the hardware was via scsi_scsi_cmd(). the problem
with scsi_scsi_cmd is that it doesnt tell the caller if the command
failed, was queued, or completed unless you shoved a buf down with
it. this is important for mpath which wants to know what the physical
path to the device did so it can report it back to the midlayer
which called it.
this provides a new api which lets drivers like cd/sd/st/mpath etc
allocate an xs, fill it in, and provide a completion routine which
the midlayer will call with the state of the command when it is
finished with it. the caller is then responsible for freeing the
xs.
from the hba side of thing, the return code from the scsi_cmd
entrypoint is largely ignored now, and it is now always the
responsibility of the hba driver to call scsi_done when it has
completed the io, rather than returning COMPLETE and expecting the
midlayer to do it for you.
i have emulated scsi_scsi_cmd on top of this new api so existing
users of it will continue to work. sd(4) has been reworked to use
the new api directly to both demonstrate its use and test that the
new api actually does work.
this diff was mostly written in a day at f2k9. thanks to miod for poking
through hba drivers to help mitigate against fallout from the change to
the COMPLETE semantic. this has been reviewed by krw who didnt spot
anything wrong.
thanks to dave del debbio for testing.
ok deraadt@
|
|
as additional argument. This will allow intermediate layers between
scsi devices such as sd and scsi host adapters to take appropriate
action if necessary.
|
|
extraneous #include <malloc.h>
|
|
|
|
asked via SCIOCIDENTIFY. More closely emulates the Linux
SCIOCIDENTIFY/SG_EMULATED_HOST combination used by cdparanoia (and
god knows what other ports). Nothing in the tree itself uses
SCIOCIDENTIFY.
Fixes cdparanoia's handling of USB CD drives that can't handle the
MODE SENSE command. cdparanoia sends 'ATAPI' devices only MODE SENSE
BIG (0x5a) commands. Finding actual SCSI devices that might have
trouble with MODE SENSE BIG (i.e. very old devices) behind USB is
deemed highly unlikely.
Problem reported, debugged and fix tested by bernd@.
ok marco@ millert@ miod@
|
|
'transfer', 'tranfered' -> 'transferred'.
|
|
bus. supporting these complicates the midlayer unnecessarily.
ok krw@
|
|
|
|
|
|
order reversed, wrong modifiers. ok deraadt@ marco@ mickey@
|
|
broken. Eliminate an unneeded variable and potential conversion issues
in SCIOCCOMMAND code before calling physio.
Similar to what NetBSD does.
Fixes cdda2wav vs "Billie Holiday - Songs for Distingue Lovers"
problem noted by Alexandre Ratchov. Tested by Alexandre.
ok marco@ pedro@ deraadt@ mickey@
|
|
|
|
Fixes spurious error messages from cdparanoia when using ATAPI CDROM
in USB enclosure.
ok pascoe@.
|
|
no change in compiler assembly output.
|
|
submitted via ioctl. Eliminate scsi_do_safeioctl(), thus permitting
ch, ss and st devices to submit SCSI commands. Return EPERM rather
than EBADF when permissions are inadequate.
Allows more programs to run with fewer permissions. Problem diagnosed
by Nikolay Sturm in mplayer port.
Tested by Nikolay, ok deraadt@.
|
|
number. Same change as was made to scsi_base.c a few days ago.
ok deraadt@.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Updated ioctls to match
Minor patches in anticipation of wd->sd translation layer
|
|
|
|
* Use scsi_do_ioctl() in cd.c and uk.c again.
|
|
to:
* New changer driver.
* Better optical support.
* Different `done' semantics.
* New quirks for SCSI QIC tape driver, SCSI floppy drives.
* Better support for SCSI-I devices.
Everybody needs to test this.
|
|
|
|
|
|
|
|
|
|
|
|
|