Age | Commit message (Collapse) | Author |
|
days. if you really want it still you can fetch it via disklabel(8).
ok krw@ deraadt@
|
|
ok krw@ marco@ miod@ deraadt@
|
|
to all the scsi midlayer code into a local variable.
ok krw@ marco@
|
|
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
|
commands. Bump limit back to the standard 4, and at the same time eliminate
SDRETRIES and CDRETRIES (both defined to 4) in favour of a new define,
SCSI_RETRIES, also defined to 4.
|
|
SENSE_NOT_READY_BECOMING_READY sense errors. Some devices such as USB
Zip250 drives return the former when they mean the latter. Give the
first TEST UNIT READY command three times the usual retries so more
devices have time to get ready. This allows more removable devices to
detect media details and avoid issuing 'drive offline' messages.
ok marco@
|
|
RAW_PART will always be 0 -> disksize, so the bounds check will always
pass for i/o's to valid addresses. Now the i/o will be properly truncated
if it goes past the end of the device. This prevents various adverse
impacts of issuing i/o's for data past the end of the device.
Repeatedly requested by todd@.
ok weingart@ deraadt@
|
|
that may run without interrupts, don't forget to add scsi_autoconf
to the flags and POLL for the result rather than wait for an interrupt that
will never come. Fixes Dale's Iomega Jazz drive on the ahc here, and no
doubt many other device combinations.
|
|
device. Fallout from doing better PREVENT ALLOW dance.
Prodded by marco@ as a result of a report from Andreas Kahari on tech@.
|
|
blksize to 0 to avoid confusing garbage values with useful info.
Noticed by jolan@.
|
|
should fix a number of 'drive offline' situations where the device claims
it has no media loaded until the lock in occurs. Like a Blackberry Pearl
Todd Fries found and probably other USB devices. Move the lock in during
device open to before the test unit ready to eliminate similar spurious
rejections of the device.
Feedback from marco@, tests by todd@ and miod@.
ok deraadt@ beck@ dlg@ miod@
|
|
geometry. But 63 * 255 > 2880 and the cylinder count becomes 0. So
if we end up with a valid disksize but 0 cylinders, set heads =
cylinders = 1 and sectors-per-track = disksize.
|
|
serial number and split the vpd header out for use in other places. while
here define the device identification page bits too.
ok krw@ marco@
|
|
|
|
sent to the adapter instead of the 10 bytes the scsi_sychronize_cache
command actually occupies. This freaked out the ahc on jsing@'s SGI
and probably others.
Found, isolated, fix tested, and ok jsing@
|
|
called from the last sdclose() on a device will now reset SDF_DIRTY
after submitting the SYNCHRONIZE CACHE command. sddone() need not
worry about SDF_DIRTY since it was never called for the SYNCHRONIZE
CACHE command anyway.
This eliminates a spurious SYNCHRONIZE CACHE command being issued for
every sd device from sd_shutdown().
ok dlg@
|
|
and a file is written onto the stick. Without these fixes the
machine panics or hangs.
The usb fix calls the callback when the stick is pulled out to free
the associated buffers. Otherwise we have busy buffers for ever
and the automatic unmount will panic.
The change in the scsi layer prevents passing down further dirty
buffers to usb after the stick has been deactivated.
In vfs the automatic unmount has moved from the function vgonel()
to vop_generic_revoke(). Both are called when the sd device's vnode
is removed. In vgonel() the VXLOCK is already held which can cause
a deadlock. So call dounmount() earlier.
ok krw@, I like this marco@, tested by ian@
|
|
Tested, tweaked and ok otto@
|
|
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
|
|
|
|
|
|
need for special case code; ok krw
|
|
type of all variables to daddr64_t. this includes the APIs for XXsize()
and XXdump(), all range checks inside bio drivers, internal variables
for disklabel handling, and even uvm's swap offsets. re-read numerous
times by otto, miod, krw, thib to look for errors
|
|
to size. tested on almost all machines, double checked by miod and krw
next comes the type handling surrounding these values
|
|
readdisklabel(), since all readdisklabel()'s do that already.
ok deraadt@
|
|
of the I/O being attempted. Throw in a comment typo fix to properly
refer to sectors and not blocks.
ok marco@
|
|
number (wd.c), and the uses are to find the minimum minor to be
detached.
|
|
but differently named SD/CD ones. No change to .o files.
ok deraadt@ dlg@
|
|
geometry used to 255 heads and 63 sectors/track from 64 heads and 32
sectors. 255/63 makes the cylinders as large as PC/BIOS compatibility
allows, increasing the size of devices that can be supported.
ok pedro@ (long ago) marco@ millert@ weingart@
|
|
media in while the device is open, allow the open anyway. Fixes some
USB devices which do odd things when presented by PREVENT_ALLOW.
Suggestion from mickey@.
ok millert@ marco@
|
|
No functional change.
ok krw
|
|
ok krw
|
|
no binary change, and ok krw@ marco@
|
|
vendor, etc details.
|
|
certainly don't need it, or are capable of reporting themselves in
need of a spin up. Feedback from various agreeing it is unlikely such
devices exist.
Fixes devices found by Markus Bergkvist and Johan M:son Lindman.
ok dlg@
|
|
|
|
|
|
'transfer', 'tranfered' -> 'transferred'.
|
|
using the new NO_CCB result. Currently a no-op since no driver produces
that result.
ok dlg@ 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@
|
|
ok miod@, deraadt@
|
|
ok marco@, deraadt@
|
|
"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@
|
|
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@
|
|
bus. supporting these complicates the midlayer unnecessarily.
ok krw@
|
|
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@
|
|
prevents the issuing of sizing inquiries to non-existant or non-responsive
devices like empty slots on a USB card reader.
Also try to avoid *extremely* unlikely loop of scsi_start() commands, by
not using sd_interpret_sense() until after the disk is spinning.
ok dlg@
|
|
|
|
|