Age | Commit message (Collapse) | Author |
|
|
|
|
|
back via MTIOCGET ioctl, rather than always reporting -1 (unknown).
Simple 'Set to 0 on rewind, increment on file marks and positioning,
and set back to -1 on any ambiguity' logic. No functional impact on
current operation.
Should allow things like Bacula to work much faster by keeping track
of the current media position.
Adapted from FreeBSD code.
ok beck@
|
|
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@
|
|
the mt_fileno and mt_blkno fields from the mtget struct was too hasty.
Subsequent discussions with Kern Sibbold of the Bacula project
revealed these are widely used by tape backup software on many
unicies. The de facto standard is to return -1 if you can't determine
the value.
So add them back and always return -1 as their value. Should allow
Bacula and similar software to at least compile while we investigate
providing meaningful values.
ok beck@
|
|
|
|
|
|
commands via the DVD_LU_SEND_RPC_STATE and DVD_HOST_SEND_RPC_STATE
ioctls respectively.
Thus allowing any region protected DVDs mistakenly delivered by Santa
to the wrong region to be viewed on recalcitrant DVD drives (with the
aid of an appropriate utility like regionset).
No change to any current functions.
Found in my hackers@ folder from August.
From netbsd -> Kurt Miller -> jmc@.
|
|
'transfer', 'tranfered' -> 'transferred'.
|
|
using the new NO_CCB result. Currently a no-op since no driver produces
that result.
ok dlg@ marco@ deraadt@
|
|
ok miod@ marco@ deraadt@
|
|
confusing when trying to attach scsibus to a hba, since it is really meant
for attaching scsi devices to scsibus.
ok deraadt@ marco@
|
|
years ago.
|
|
ok miod@, deraadt@
|
|
ok marco@, deraadt@
|
|
thumbs up deraadt@
|
|
asc/ascq handling to deal with the pair together rather than seperately, since
modern scsi has long since polluted the "categories" of asc enough that you
pretty much need to always look as ascq.
ok krw@ deraadt@, dlg@
|
|
ok deraadt@ krw@ an earlier diff was ok marco@ too
|
|
otherwise return any error we find during detach of the luns.
|
|
|
|
scsi devices. the midlayer keeps some state for each device that is
attached which needs to be cleaned up on detach, hence this wrapper.
|
|
0, not NULL.
|
|
for walking the bus and targets, and probing the luns. this removes the
need to use magic numbers to wildcard each of these, which in turn makes
the code a lot easier to read. as a bonus we get some more space to work in
(80 chars isnt that much somtimes).
note that this code wont probe high luns if lun 0 doesnt exist.
ok krw@
|
|
|
|
"becoming ready" - this is done in the exact same way that it
was done for tape in st.c. This commit adds a cd specific interpret_sense
routine to cd.c that will catch the becoming ready case and handle it.
This also removes the need to use crazy timeouts to catch this case.
ok krw@
|
|
ok marco@ krw@
|
|
|
|
ok dlg@
|
|
floppies and cd's were removable, displaying that fact in disklabel
output was unlikely to help. And the display in disklabel was the only
use of D_REMOVABLE in the tree.
ok marco@
|
|
when they need a process context to do something. the most obvious task
that springs to mind is attaches and detaches of devices on scsibus.
ok krw@ marco@ deraadt@
|
|
struct for it and keep it in the midlayer. however, this struct was never
free'd on detach.
since we only do hotplugging of controllers (and the scsibus and devices
get hotplugged as a matter of course), we now walk the list of scsi_link
structs and free them on detach of scsibus.
ok marco@
|
|
when using removable media devices, along with changes to scsi_base to
detect such cases in tapes other devices. This makes tar, dd, and friends
report a semi useful error message instead of nonsense when there is nothing
in the device.
Includes libc minor bump, and will require the corresponding sets change.
ok krw@ deraadt@
|
|
|
|
that specifies the version of SCSI being supported. Even the ANSI part
that we use is complex. 4 means 2, 5 means 3 and 6 means 4. Translate
and use the value correctly. Fixes SCSI5 and SCSI6 in dmesg. And
properly protects SCSI2 devices from getting SCSI3 commands.
"seems like an elegant solution to me" millert@ ok dlg@ marco@
|
|
obtained probe the LUNs given without checking for duplicate INQUIRY
data.
For non-USB, non-ATAPI, devices claiming to be SCSI-3 compliant. And
the target must have something attached at LUN 0.
If REPORT LUNS can't be used or isn't supported, the old scan process
is used.
Fixes Fibre Channel and SCSI enclosure devices that provide identical
INQUIRY data for all LUNs and were thus being misprobed as having
only LUN 0.
Tested by Bob Kitella, dlg@, beck@. Suggestions from deraadt@.
ok dlg@ beck@
|
|
bus. supporting these complicates the midlayer unnecessarily.
ok krw@
|
|
in the CDB for pre-IDENTIFY device LUNs.
|
|
LUNs the driver says targets could have. Don't unconditionally
allocate 8. USB and ATAPI devices have fewer. Fibre Channel devices
can have more.
|
|
valve in case our duplicate LUN checks had to be circumvented. Since
no one has found a need for them, and they were just one more place
trying to shift a bit 255 places to the left could be induced, remove
them.
"i don't think any options like that are worthwhile" deraadt@
|
|
when PWR_RESUME occurs. The drives may have forgotten they were
locked.
Noted and original diff by Alexey Vatchenko.
"I agree with the intent." miod@ "Looks acceptable." deraadt@
|
|
|
|
when we're not allowed to yank things out of them. Instead of returning a
generic EIO and having the kernel printf a scsi sense to the console,
we now return EBUSY to userland and avoid the dmesg spewing.
ok krw@
|
|
is now a copy in the scsi_link structure so just use that one.
'looks reasonable' beck@ ok dlg@
|
|
stored in scsi_link. That's where the value came from anyway. Move 'luns'
field to where 'scsi_version' used to be to preserve alignment.
ok dlg@
|
|
inquiry. this removes the flags member and makes all its users refer to the
whole inquiry now.
ok miod@ krw@
|
|
ok deraadt@
|
|
ok krw@
|
|
|
|
will be.
|
|
|