Age | Commit message (Collapse) | Author |
|
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@
|
|
print the "sdN:" at the start of the now empty line. Noted by
miod@.
|
|
ok matthew@ tedu@, also eyeballed by at least krw@ oga@ kettenis@ jsg@
|
|
Prodded repeatedly by deraadt@
|
|
it up by using the usb devices iSerial thing.
ok deraadt@
|
|
enabled so people can get used to it.
ok deraadt@
|
|
found by marco@
ok and tweaks deraadt@ krw@
|
|
the big change is how paths between mpath capable devices and the
kernel are managed.
originally the midlayer would steal the links to the devices and
hide them behind mpath. all the changes an adapter made to a link
(eg activate or detach), the midlayer had to test if it was an mpath
link and then call special mpath code to handle it.
the original code also assumed that all paths behaved the same, but
the reality is that different devices have different command sets
and behaviours. figuring out which behaviour to pick and prioritising
them is basically the same job autoconf does with match and attach.
rather than special casing mpath in the midlayer and reimplimenting
autoconf, this turns paths into actual device drivers with match
and attach routines. after they figure out if the path is active,
they then give it to mpath(4) to use as a backend.
i have written drivers for symmetric access devices (sym(4)) where
all paths to the same logical unit are as good as each other,
lsi/engenio arrays (rdac(4), and emc arrays (emc(4)).
the rdac and emc drivers only detect active paths at attach time,
the do not cope if the controller changes state unless you unplug
the path and plug it in again to retest the active state. they also
do not have support for directing array failover.
operating and hoplugging has been tested with mpii(4), fc and sas
mpi(4), and iscsi via vscsi (claudio did this too).
ok krw@ deraadt@
|
|
ok krw@
|
|
Some stylistic tweaks after discussions with krw@ and deraadt@.
ok krw@; "Lovely" deraadt@
|
|
in a kernel panic.
ok krw@
|
|
to be in the right address space.
help from matthew and krw
|
|
Prompted by dlg@'s tape library trying to report a failure to thread
a media (0x53, 0x04).
|
|
delay and retry the original command rather than immediately erroring
out.
Fixes USB drives that spin themselves down due to inactivity, as
confirmed by pirofti@ and jsg@.
ok miod@, rough agreement pending more general solution dlg@.
|
|
way st(4) does. Have both decline to open read-only devices for
anything but read-only access.
Suggestion to fail opens rather than individual i/o's from deraadt@.
Problem USB device found and donated by chefren, who also tested
diffs. Thanks!
ok dlg@ marco@
|
|
cd(4) did not believe any T_FIXED device was its responsibility.
Thus when a USB CD forgot to mention that it is T_REMOV, it appeared
as uk(4).
Make cd(4) accept even T_FIXED devices that claim to be T_CDROM or
T_WORM.
Noticed and fix tested by Rene Maroufi. Closes PR #6513.
|
|
Noticed by Damien McGuckin. Thanks!
|
|
than 1 i/o active at once. This reduces the chances that concurrent
i/o's for such devices will confuse the device or the adapter code.
It also eliminates a reason for adapter code to maintain its own
queues.
Tweak all drivers that fake INQUIRY results to set the SID_CmdQue
flag, thus continuing to claim to be able to do tagged i/o.
Positive feedback from matthew@ and marco@ for an earlier version.
ok dlg@
|
|
|
|
geometry. it doesnt matter waht the value there is cos rigid will be NULL,
but this is clearer.
|