Age | Commit message (Collapse) | Author |
|
else cares so it's just noise. Drivers that actually look at ITSDONE
are unchanged.
ok marco@ (for his files) dlg@ beck@
|
|
with input from marco@
"that i like" marco@
ok dlg@
|
|
COMPLETE in a scsi_cmd handler.
found by thib when testing my midlayer changes.
|
|
"Should never happen but I like it" marco@
|
|
found by LLVM/Clang Static Analyzer.
ok marco@
|
|
Found by LLVM/Clang Static Analyzer.
ok marco@
|
|
Found with -Wformat.
OK dlg
|
|
as additional argument. This will allow intermediate layers between
scsi devices such as sd and scsi host adapters to take appropriate
action if necessary.
|
|
conversions.
ok kettenis@
ok krw@ (possibly for the second time :)
|
|
Fix an undo error in previous commit
|
|
prompted and ok dlg
|
|
Fix set hotspare that didn't always work.
Fix several very subtle bugs because of firmware lies
Fix disk size that sometimes was incorrect
Only poke drives if something changed so it makes bio way faster on subsequent calls
Tested by several folks, thanks
Ok dlg
|
|
completion routines to do anything useful with.
this stashes the commands status in the ccb for the ccb_done handlers to
use. the completion path for passthru commands now checks the mbox status
to see if the command actually works. this prevents phantom devices from
appearing on the passthru busses.
|
|
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@
|
|
ok dlg@
|
|
kernel thread of its own. the api has changed (which will be fixed in the
manpage shortly) so all the users of sensor tasks that i can find have
been fixed too.
noone tested, so its going in to force people to run with it.
"put it in" deraadt@
|
|
actually produces the real errno for the problem.
currently for kernel memory allocation failures
bioctl would return EINVAL that makes no sense.
another diff from mickey
|
|
sensor status will still be marked as ok (or etc..)
thus erroneously reporting value as valid.
this nice diff was from mickey
|
|
ok marco@ then suggested deraadt@
|
|
prompted by deraadt
ok dlg
|
|
them. this means that we cant reliably complete an io before the chip says
we can because it can possibly complete later and overwrite memory it no
longer owns, or write garbage to disk.
so this diff forces the timeout on a scsi io to be as long as the chip
should ever take, which is sixty seconds. after much discussion with marco
we also decided to add a bit more so the time spent in the software runq
wouldnt affect the ios lifetime too much.
instead of completing ios out of the timeout, this simply warns the
operator to check the state of the volumes if things are starting to slow
down.
ok marco@
|
|
ok marco
|
|
of new fields in the future is less disruptive. This is done similar
to how struct proc is handled for ps(1). ok jmc (man page changes)
tested fkr simon, and more suggestions from millert
|
|
|
|
|
|
ok miod@ marco@ deraadt@
|
|
ok marco@
|
|
while here try to avoid nesting splbio calls when dealing with the
runqueue.
|
|
be done on the logical disks so ami_scsi_cmd can stash the name of the
device doing the io. we now walk the device tree after the logical disks
are attached and use the names of ami's child devices.
ok marco@
|
|
|
|
i could move the shared code that the sensor and bio paths use, but this
would add bloat i think.
found by _mx, fix by deraadt@
|
|
|
|
spare ccbs for it and they dont understand the megaraid commands we use in
those paths.
initially found by jared rr spiegel
|
|
|
|
# bioctl -h ami0
Volume Status Size Device
ami0 0 Rebuild 1000M sd1 RAID5 8% done
|
|
|
|
|
|
(aptly called ami_alloc_ccbs). allocate the ccbs after the firmware has
been queried, but still for the full number of AMI_MAXCMDS.
ok krw@
|
|
of the function and unindent that block.
ok krw@
|
|
for its params. this means we can ask it how many ccbs it can deal with
before we allocate them.
ok krw@
|
|
is preallocated in the softc, even if the driver is only ever going to use
one of them when running. this allocates them separately during attach as a
first step toward having the driver only allocate as many ccbs as the
firmware can support.
ok krw@
|
|
older firmwares. it was stagnating and now completely broken. if we need it
back then we can poke around in cvs for it.
|
|
structure not included in the MegaRAID command, so it needs to be synced
before we submit it. Previously this was done only when the SCSI command
had an associated data buffer. The syncing of the passthrough command is
now done unconditionally.
ok krw@ marco@
|
|
reported by several people. What happens is that the firmware sometimes
misreports what SCSI type a device is. The driver was only allowing a create
hotspare function when the type was set to hard disk. Since the firmware will,
obviously, not allow the driver to create a hotspare on any other type of device
the driver doesn't need these smarts and now will ignore the type.
Tested by henning todd and Ben Lovett.
ok dlg
|
|
established at. this means we dont need splbio() calls in ami_intr because
its already been raised.
this diff removes unneeded splbio calls from the interrupt handler path.
it also sets it up so the completion paths are all called at splbio, so i
can get rid of the spl calls inside those functions too.
neither marco or pedro could see anything wrong with it
|
|
on with the second half of the command.
|
|
ok dlg
|
|
Disable until diagnosed and fixed.
|
|
used anywhere.
thanks lint. thint.
|
|
|