Age | Commit message (Collapse) | Author |
|
tested by dcoppa@, ok krw@, miod@
|
|
|
|
ok krw@
|
|
that caused large disks to appear offline.
Discovered and tested by mlarkin@; ok dlg@
|
|
is causing problems when trying to boot sparc64 from an isp(4).
Verified to fix the sparc64/isp(4) regression by krw@; ok deraadt@
|
|
|
|
to use the fifo bufq sorting on such disks. there's no point ordering io
if the real blocks arent in the order we think they are.
ok krw@ tedu@ miod@
|
|
required vpd pages, then read them for the values we want.
we look for the max blocks per unmap, the max descriptors per unmap, and
which scsi command to use for unmapping (unmap will be preferred).
two fixes and ok matthew@
|
|
path when talking to an array until it goes away, then you fail
over to the next active path.
im using this to talk to ses(4) in my dell, and allows us to support
arrays that have multiple controllers but have no way of reporting
which one is active. using the MRU semantic means we can talk to
them without them flipping the active role between its controllers
all the time. claudios transtec iscsi box is like this.
|
|
the read cap 16 data. move the read cap code into sd.c so i can get
at this bit without much contorting, and to make it trivial to get
at the other interesting things in there later.
thin disks report themselves as "thin" in dmesg along with their
size now.
ok matthew@
|
|
adapter_target to if their adapter isn't addressable on the bus.
ok dlg@, krw@
|
|
saa_luns instead of adapter_buswidth and luns in the prototype link.
ok dlg@, miod@
|
|
|
|
|
|
|
|
|
|
that they're implemented consistently in bounds_check_with_label().
Also, per krw's request, change bounds_check_with_label() to return 0
if the checks succeed, and change the drivers to test == -1 instead of
<= 0. (Man page update to follow; intentionally omitting
arch/vax/mba/hp.c from this commit because it doesn't even build
currently and miod@ promises to kill it soon.)
ok krw@
|
|
These will be used to replace scsi_link's adapter_buswidth and luns
fields, but for now we stay compatible with existing SCSI adapter
driver conventions while I update them to set the scsibus_attach_args
fields directly.
ok dlg@
|
|
needs either of them.
ok krw@
|
|
that's ever used it, and it's long since been changed to use
DVACT_{QUIESCE,SUSPEND,RESUME} instead.
ok deraadt@, dlg@; miod@ also agreed with this idea when I brought it
up a few weeks ago
|
|
subr_disk.c. For now just the MI disk drivers.
ok deraadt@, krw@; jsing@ liked the approach too
|
|
remove two of the remaining three uses of it. (softraid(4) still uses
it at the moment, so the field and its assignment in scsibusattach()
stay for now...)
ok krw@; feedback and "tenteiramen rejid"(!?) miod@
|
|
be interrupted.
ok matthew
|
|
rather than using various wrappings. Convert vnd to using the sc_dk
rwlock instead of using one of its own.
ok matthew
|
|
1) Allocating with M_WAITOK, checking for NULL, and calling panic() is
pointless (malloc() will panic if it can't allocate) so remove the check
and the call.
2) Allocating with M_WAITOK, checking for NULL, and then gracefully
handling failure to allocate is pointless. Instead also pass M_CANFAIL
so malloc() doesn't panic so we can actually handle it gracefully.
1) was done using Coccinelle.
Input from oga.
ok miod.
|
|
confusing Coccinelle.
No binary change.
ok dlg@
|
|
|
|
|
|
|
|
symmetric.
dont leak bufs on xs failure and make sure we free the buf back to the
right dma pool.
|
|
like to be talked to on odd paths, and even luns like being talked to
on even paths.
|
|
|
|
scsi_init_inquiry(). cut the compiled INQUIRY code over to it.
ok and tweaks from krw@
ok matthew@
|
|
like {cd,sd}{read,write}().
ok krw@, dlg@
|
|
wd(4). They haven't been used for 10+ years, since the drivers were
switched to use disk_lock() and disk_unlock() instead.
No binary change.
|
|
of silly flag twiddling code in various disk drivers.
ok deraadt@, miod@
N.B., users will need a -current disklabel(8) to be able to write new
disklabels to disk now.
|
|
never done anything in OpenBSD and just clutters disk drivers with
silly flag handling.
More cleanup to follow.
ok deraadt@, millert@; no objections krw@
|
|
wrapper for device_lookup(), and renaming the uk local variables to
sc.
ok krw@
|
|
to return EBUSY if the user tries to modify an open partition's offset
or size. Only sadness can result if a user tries this, and rejecting
it prevents a race between sdstart() and sdstrategy().
Curiously, there was already code in the kernel and in disklabel(8) to
detect/handle this, but it was effectively disabled because the disk
drivers always used something like "/* sc->sc_dk.dk_openmask */ 0",
and this commented out code has existed since even r1.1 in NetBSD.
I had no problems building a release and messing around with
disklabel(8) for a bit with this diff. Canarying the more common MI
disk drivers until we gain confidence that there aren't any
regressions, then we can switch the remaining drivers.
"I am surprised you got me convinced that this stuff is safe" deraadt@
ok krw@
|
|
whitespace into one. Written after Mitja showed a particularly unwieldy
attach line:
sd0 at scsibus0 targ 2 lun 0: <ATA, HTS721010G9SA00, MCZI> SCSI3 0/direct fixed t10.ATA_____HTS721010G9SA00_______________________________blahblahblah
ok/incorporating a suggestion from matthew@, krw@ likes it, dlg@ doesn't
feel strongly either way.
|
|
|
|
by copying the adapters scsi_link. this way devices wont inherit the
adapters addresses on fc fabrics.
|
|
their start routines, they dont have to pass pointers to them in the
ops struct.
|
|
storage arrays.
at the moment it makes a naive decision about which controller in an array
to talk to. it does work, but a smarter version is being worked on.
tested by and ok deraadt@
|
|
|
|
required this.
requested by deraadt@
|
|
do for XS_RESET. adapters return SELTIMEOUT when the device is gone.
|
|
response struct (one of the reserved fields is actually the response).
OK dlg@
|
|
|
|
attaching since theyre useless without mpath.
the path drivers ask mpath if its ok to use the device before doing their
own matches (this is so mpath can prevent paths attaching to itself), so
im just adding this check there.
this uses code from miod to walk cfdata for the mpath entry and then checks
its state. this is ok because mpath is only attached in one place, so there
arent multiple cfdata entries for it.
ok krw@ deraadt@ miod@ matthew@
|