Age | Commit message (Collapse) | Author |
|
id after that, so it seems like a silly reason to reject a target.
ok dlg@ deraadt@
|
|
to his array rather than just 2.
ok dlg@
|
|
ok krw@
|
|
ok deraadt@ krw@
|
|
Diff from Carlos Cardenas, thanks!
ok krw@
|
|
|
|
Don't skip the cache flush until the last opening of the device is
closed. Otherwise, when umounting a writable partition while a different
partition is still mounted read-only, the necessary disk flush may be
delayed for a very long time.
ok krw@ deraadt@
|
|
Currently implemented for wd and sd.
Initially ported from netbsd by pedro@
ok deraadt@
|
|
history, nuke all mentions of XS_NO_CCB and the #define.
2006 - 2017. R.I.P.
ok kettenis@ inferred ok dlg@
|
|
ok krw@
|
|
the random subsystem as entropy. This value is pretty much unknown,
and anyways our entropy input ring does not saturate from knowns.
ok mikeb djm
|
|
the ioff argument to pool_init() is unused and has been for many
years, so this replaces it with an ipl argument. because the ipl
will be set on init we no longer need pool_setipl.
most of these changes have been done with coccinelle using the spatch
below. cocci sucks at formatting code though, so i fixed that by hand.
the manpage and subr_pool.c bits i did myself.
ok tedu@ jmatthew@
@ipl@
expression pp;
expression ipl;
expression s, a, o, f, m, p;
@@
-pool_init(pp, s, a, o, f, m, p);
-pool_setipl(pp, ipl);
+pool_init(pp, s, a, ipl, f, m, p);
|
|
ok deraadt@ guenther@
|
|
special error handling in sdopen() as temporary hack.
OK krw@
|
|
is not dying.
OK krw@
|
|
device is already dying. Delete the sc_timeout when setting the
SDF_DYING flag as the timeout delete in sdclose() may not be reached.
OK krw@
|
|
use after free of the scsi link structure during detach.
OK krw@
|
|
'sc_link'. 'sc_link' is a field in the various device *_softc
structures, where the sc_ prefix was for 'softc'. Reduces potential
mental confusion. Newer code from down under was already using
'link'.
No functional change.
Prompted by bluhm@'s adventures in scsi. ok dlg@ jmatthew@
|
|
of a use after free. In sdopen() the scsi link pointer is taken
from the scsi disk struct. While the scsi disk memory is refcounted
by autoconf, the scsi link may be detached and freed during sleep.
The solution is to check wether the disk is dying after every sleep.
The SDF_DYING flag is set before scsi bus and scsi disk are detached,
so without this flag the link must be valid.
input and OK krw@
|
|
"if (cmd->len) != 0)", as cmd->len is a 3 byte array.
Broken since media_blkno accounting was introduced in r1.72 (2007!).
Might fix some obscure tape issues around miscounting variable sized blocks.
Spotted by mmcc@ and his friend clang.
|
|
things by renaming the field 'SLIST_HEAD(, scsi_link) sc_link' to
'sc_link_list' in struct scsibus_softc. Use 'sb' as the short name
for scsibus_softc variables.
Impetus from & ok bluhm@
|
|
ok mpi@ millert@
|
|
and sdminphys() if the scsi disk is dying. The memory of the link
may have been freed already.
OK krw@
|
|
everywhere. This is the first step to fix a use after free of the
sc_link when the disk detaches. If a function gets a scsi transfer,
the scsi link is always valid. Call this variable "link" consistently.
OK krw@
|
|
|
|
|
|
"sure" deraadt@
|
|
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
Pointed out by Kor son of Rynar (sic) when trying to test
some debug code.
ok matthew@
|
|
ok deraadt@
|
|
sys/atomic.h for atomic_setbits_int.
|
|
when workqs were introduced, we provided a second argument so you
could pass a thing and some context to work on it in. there were
very few things that took advantage of the second argument, so when
i introduced pools i suggested removing it. since tasks were meant
to replace workqs, it was requested that we keep the second argument
to make porting from workqs to tasks easier.
now that workqs are gone, i had a look at the use of the second
argument again and found only one good use of it (vdsp(4) on sparc64
if you're interested) and a tiny handful of questionable uses. the
vast majority of tasks only used a single argument. i have since
modified all tasks that used two args to only use one, so now we
can remove the second argument.
so this is a mechanical change. all tasks only passed NULL as their
second argument, so we can just remove it.
ok krw@
|
|
objective: vnode.h doesn't include uvm_extern.h anymore.
followup changes: include uvm_extern.h or lock.h where necessary.
ok and help from deraadt
|
|
|
|
ok krw@, jsg@
|
|
(ST373405FSUN72G) respond to a START STOP UNIT command that spins down the
disk with a "Logical Unit Not Ready, Initialization Command Required".
Besides causing some dmesg spam, our sd(4) driver responds to such a response
by spinning the disk back up. Prevent this from happening by respecting
the SCSI_IGNORE_NOT_READY flag and using that flag when spinning down the
disk.
ok miod@
|
|
ok mpi@ kspillner@
|
|
CIRCLEQ_* is deprecated and not called in the tree. The other queue types
have *_END macros which were added for symmetry with CIRCLEQ_END. They are
defined as NULL. There's no reason to keep the other *_END macro calls.
ok millert@
|
|
uses it. dont need to include workq.h anymore here either now.
|
|
tested on mpi(4) sas.
|
|
|
|
after discussions with beck deraadt kettenis.
|
|
DVACT_POWERDOWN is propagated in this subtree, there is no need for
this shutdown hook anymore. RIP.
ok kettenis@
|
|
should be safe to call the midlayer io path without the biglock now.
|
|
|
|
the kernel biglock. the plan is to have the midlayer assume its
running without the biglock, but that it cant call adapters or
devices without taking the biglock first.
this diff just wraps the calls to the adapter iopool get and put
handlers up in the biglock.
this is safe now because of kettenis' commit to src/sys/kern/init_main.c
r1.120. ive been running this in various places since early 2011.
|
|
ok dlg@
|
|
a whole bus, a target, or a specific lun on a target from the bioctl
and scsi_req paths.
i want to reuse this factored code for something claudio wants.
|
|
is to check xs->status on completion to make sure it worked.
|
|
ok dlg@
|