History log of /freebsd/sys/cam/scsi/scsi_da.c (Results 51 – 75 of 942)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 44e86fbd 13-Feb-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r357662 through r357854.


# efb17c5a 13-Feb-2020 Warner Losh <imp@FreeBSD.org>

Use INT instead of string for the ints. Because the string "I" was right, the
old code appeared to work. This was a cut and paste error.

Noticed by: rpokala@


# 0c8ea9e5 13-Feb-2020 Warner Losh <imp@FreeBSD.org>

Convert rotating and unmapped_io to a DA flag

Rotating and unmapped_io are really da flags. Convert them to a flag so it will
be reported with the other flags for the device. Deprecate the .rotating

Convert rotating and unmapped_io to a DA flag

Rotating and unmapped_io are really da flags. Convert them to a flag so it will
be reported with the other flags for the device. Deprecate the .rotating and
.unmapped_io sysctls in FreeBSD 14 and remove the softc ints.

Differential Revision: https://reviews.freebsd.org/D23417

show more ...


# a8d238cd 13-Feb-2020 Warner Losh <imp@FreeBSD.org>

Export the current da flags as bitfield

Export the current flags. They can be useful to other programs wanting to do
special thigns for removable or similar devices.

Differential Revision: https://

Export the current da flags as bitfield

Export the current flags. They can be useful to other programs wanting to do
special thigns for removable or similar devices.

Differential Revision: https://reviews.freebsd.org/D23417

show more ...


# 85eb41f7 10-Feb-2020 Scott Long <scottl@FreeBSD.org>

Revert r357710 and 357711 until they can be debugged


# 7d99bda7 10-Feb-2020 Scott Long <scottl@FreeBSD.org>

Add rudamentary support for UFS to probe whether a block device supports the
BIO_SPEEDUP command. Add complimentary support to the CAM periphs that
support it.


# bc02c18c 07-Feb-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r357408 through r357661.


# d176b803 07-Feb-2020 Scott Long <scottl@FreeBSD.org>

Ever since the block layer expanded its command syntax beyond just
BIO_READ and BIO_WRITE, we've handled this expanded syntax poorly in
drivers when the driver doesn't support a particular command.

Ever since the block layer expanded its command syntax beyond just
BIO_READ and BIO_WRITE, we've handled this expanded syntax poorly in
drivers when the driver doesn't support a particular command. Do a
sweep and fix that.

Reported by: imp

show more ...


# bb1d0df5 29-Jan-2020 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r357179 through r357269.


# 827bea26 29-Jan-2020 Warner Losh <imp@FreeBSD.org>

Fix spelling of removable


# 83b75bb3 16-Dec-2019 Warner Losh <imp@FreeBSD.org>

Revert r355813

It was extracted from a larger tree and is incomplete. Will resubmit after
reworking.


# 68e1c49a 16-Dec-2019 Warner Losh <imp@FreeBSD.org>

Implement a system-wide limit or da and ada devices for delete.

Excesively large TRIMs can result in timeouts, which cause big
problems. Limit trims to 1GB to mititgate these issues.

Reviewed by: s

Implement a system-wide limit or da and ada devices for delete.

Excesively large TRIMs can result in timeouts, which cause big
problems. Limit trims to 1GB to mititgate these issues.

Reviewed by: scottl
Differential Revision: https://reviews.freebsd.org/D22809

show more ...


# 5773ac11 10-Dec-2019 John Baldwin <jhb@FreeBSD.org>

Use callout_func_t instead of the deprecated timeout_t.

Reviewed by: kib, imp
Differential Revision: https://reviews.freebsd.org/D22752


# 02fa548c 13-Nov-2019 Warner Losh <imp@FreeBSD.org>

Fix a race between daopen and damediapoll

When we do a daopen, we call dareprobe and wait for the results. The repoll runs
the da state machine up through the DA_STATE_RC* and then exits.

For remov

Fix a race between daopen and damediapoll

When we do a daopen, we call dareprobe and wait for the results. The repoll runs
the da state machine up through the DA_STATE_RC* and then exits.

For removable media, we poll the device every 3 seconds with a TUR to see if it
has disappeared. This introduces a race. If the removable device has lots of
partitions, and if it's a little slow (like say a USB2 connected USB stick),
then we can have a fair amount of time that this reporbe is going on for. If,
during that time, damediapoll fires, it calls daschedule which changes the
scheduling priority from NONE to NORMAL. When that happens, the careful single
stepping in the da state machine is disrupted and we wind up sceduling multiple
read capacity calls. The first one succeeds and releases the reference. The
second one succeeds and releases the reference (and panics if the right code is
compiled into the da driver).

To avoid the race, only do the TUR calls while in state normal, otherwise just
reschedule damediapoll. This prevents the race from happening.

show more ...


# 45fceedf 11-Nov-2019 Warner Losh <imp@FreeBSD.org>

Add asserts for some state transitions

For the PROBEWP and PROBERC* states, add assertiosn that both the da device
state is in the right state, as well as the ccb state is the right one when we
ente

Add asserts for some state transitions

For the PROBEWP and PROBERC* states, add assertiosn that both the da device
state is in the right state, as well as the ccb state is the right one when we
enter dadone_probe{wp,rc}. This will ensure that we don't sneak through when
we're re-probing the size and write protection status of the device and thereby
leak a reference which can later lead to an invalidated peripheral going away
before all references are released (and resulting panic).

Reviewed by: scottl, ken
Differential Revision: https://reviews.freebsd.org/D22295

show more ...


# dc1c1769 11-Nov-2019 Warner Losh <imp@FreeBSD.org>

Update the softc state of the da driver before releasing the CCB.

There are contexts where releasing the ccb triggers dastart() to be run
inline. When da was written, there was always a deferral, so

Update the softc state of the da driver before releasing the CCB.

There are contexts where releasing the ccb triggers dastart() to be run
inline. When da was written, there was always a deferral, so it didn't matter
much. Now, with direct dispatch, we can call dastart from the dadone*
routines. If the probe state isn't updated, then dastart will redo things with
stale information. This normally isn't a problem, because we run the probe state
machine once at boot... Except that we also run it for each open of the device,
which means we can have multiple threads racing each other to try to kick off
the probe. However, if we update the state before we release the CCB, we can
avoid the race. While it's needed only for the probewp and proberc* states, do
it everywhere because it won't hurt the other places.

The race here happens because we reprobe dozens of times on boot when drives
have lots of partitions. We should consider caching this info for 1-2 seconds
to avoid this thundering hurd.

Reviewed by: scottl, ken
Differential Revision: https://reviews.freebsd.org/D22295

show more ...


# fe95666b 11-Nov-2019 Warner Losh <imp@FreeBSD.org>

Require and enforce that dareprobe() has to be called with the periph lock held.

Reviewed by: scottl, ken
Differential Revision: https://reviews.freebsd.org/D22295


# fb6ea34a 11-Nov-2019 Warner Losh <imp@FreeBSD.org>

Fix panic message to indicate right action that was improper.

Reviewed by: scottl, ken
Differential Revision: https://reviews.freebsd.org/D22295


# b5961be1 09-Nov-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

Add GEOM attribute to report physical device name, and report it
via 'diskinfo -v'. This avoids the need to track it down via CAM,
and should also work for disks that don't use CAM. And since it's

Add GEOM attribute to report physical device name, and report it
via 'diskinfo -v'. This avoids the need to track it down via CAM,
and should also work for disks that don't use CAM. And since it's
inherited thru the GEOM hierarchy, in most cases one doesn't need
to walk the GEOM graph either, eg you can use it on a partition
instead of disk itself.

Reviewed by: allanjude, imp
Sponsored by: Klara Inc
Differential Revision: https://reviews.freebsd.org/D22249

show more ...


Revision tags: release/12.1.0
# 668ee101 26-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r352587 through r352763.


# 34a5c41c 26-Sep-2019 Alexander Motin <mav@FreeBSD.org>

Add kern.cam.da.X.quirks tunable, similar existing for ada.

Submitted by: Michael Lass
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D20677


Revision tags: release/11.3.0
# 7f49ce7a 28-Jun-2019 Alan Somers <asomers@FreeBSD.org>

MFHead @349476

Sponsored by: The FreeBSD Foundation


# a9154c1c 25-Jun-2019 Warner Losh <imp@FreeBSD.org>

Replay r349342 by imp accidentally reverted by r349352

Use the cam_ed copy of ata_params rather than malloc and freeing
memory for it. This reaches into internal bits of xpt a little, and
I'll clean

Replay r349342 by imp accidentally reverted by r349352

Use the cam_ed copy of ata_params rather than malloc and freeing
memory for it. This reaches into internal bits of xpt a little, and
I'll clean that up later.

show more ...


# 296218d4 25-Jun-2019 Warner Losh <imp@FreeBSD.org>

Replay r349340 by imp accidentally reverted by r349352

Create ata_param_fixup

Create a common fixup routine to do the canonical fixup of the
ata_param fixup. Call it from both the ATA and the ATA o

Replay r349340 by imp accidentally reverted by r349352

Create ata_param_fixup

Create a common fixup routine to do the canonical fixup of the
ata_param fixup. Call it from both the ATA and the ATA over SCSI
paths.

show more ...


# f5a95d9a 25-Jun-2019 Warner Losh <imp@FreeBSD.org>

Remove NAND and NANDFS support

NANDFS has been broken for years. Remove it. The NAND drivers that
remain are for ancient parts that are no longer relevant. They are
polled, have terrible performance

Remove NAND and NANDFS support

NANDFS has been broken for years. Remove it. The NAND drivers that
remain are for ancient parts that are no longer relevant. They are
polled, have terrible performance and just for ancient arm
hardware. NAND parts have evolved significantly from this early work
and little to none of it would be relevant should someone need to
update to support raw nand. This code has been off by default for
years and has violated the vnode protocol leading to panics since it
was committed.

Numerous posts to arch@ and other locations have found no actual users
for this software.

Relnotes: Yes
No Objection From: arch@
Differential Revision: https://reviews.freebsd.org/D20745

show more ...


12345678910>>...38