History log of /freebsd/sys/cam/scsi/scsi_da.c (Results 1 – 25 of 937)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# f11b6ce4 08-Nov-2024 Warner Losh <imp@FreeBSD.org>

da: Add quirk for ADATA USB Drive

ADATA USB Drive lies about the RC16, so add a quirk to ignore it.

MFC After: 3 days
PR: 188999
Sponsored by: Netflix


# ad0df04a 22-Oct-2024 Warner Losh <imp@FreeBSD.org>

da: Add comments about asc/ascq values

Having had to look some of these up several times, add comments from the
latest standard for all the asc/ascq values we test against. In a couple
of cases, thi

da: Add comments about asc/ascq values

Having had to look some of these up several times, add comments from the
latest standard for all the asc/ascq values we test against. In a couple
of cases, this is a little redundant with the printf on the following
line(s), but makes it clear what the ASC/ASCQ codes are.

Sponsored by: Netflix

show more ...


Revision tags: release/13.4.0
# 9cbf3d61 20-Jul-2024 Warner Losh <imp@FreeBSD.org>

cam/iosched: Make each periph driver provide schedule fnp

When we init the iosched instance, require clients to provide a schedule
function. We have almost, but not quite everything to know when it

cam/iosched: Make each periph driver provide schedule fnp

When we init the iosched instance, require clients to provide a schedule
function. We have almost, but not quite everything to know when it is
safe to schedule new I/O. The periph drivers, however, have all the
information, so make them do it when the I/O Scheduler needs to maybe
schedule I/O for rate limiting, etc. and use it to do that.

Sponsored by: Netflix
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D46038

show more ...


# 6f1dd607 20-Jul-2024 Warner Losh <imp@FreeBSD.org>

cam/iosched: Pass in the disk when initializing

The disk is nice to have at times, especially when you need the sector
size. At present, the only plans for this are related to logging.

Sponsored by

cam/iosched: Pass in the disk when initializing

The disk is nice to have at times, especially when you need the sector
size. At present, the only plans for this are related to logging.

Sponsored by: Netflix
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D46035

show more ...


Revision tags: release/14.1.0
# 99c14fb9 24-May-2024 Warner Losh <imp@FreeBSD.org>

cam: Drop periph lock when completing I/O with ENOMEM status

When biofinish calls g_io_deliver with an error of ENOMEM, that kicks
off the slowdown protocol, forcing I/O to go through g_down rather

cam: Drop periph lock when completing I/O with ENOMEM status

When biofinish calls g_io_deliver with an error of ENOMEM, that kicks
off the slowdown protocol, forcing I/O to go through g_down rather than
be directly dispatch. One of the side effects is that the I/O is
resubmitted, so the start routines get called recursively, leading to a
recursive lock panic. Rather than make the periph lock recursive, drop
and reacquire the lock around such calls to biofinish.

For nda, this happens only when we can't allocate space to construct a
TRIM. For ada and da, this is only for certain ZONE operations.

Sponsored by: Netflix
Reviewed by: gallatin
Differential Revision: https://reviews.freebsd.org/D45310

show more ...


# 12117d0e 03-May-2024 Matthew Grooms <mgrooms@shrew.net>

da: Update trim stats for WRITE SAME and ATA TRIM

The scsi UNMAP path updated trim stats in the da sysctl, but the ATA
TRIM passthru and WRITE SAME paths did not. Add code so they do.

PR: 277637
Re

da: Update trim stats for WRITE SAME and ATA TRIM

The scsi UNMAP path updated trim stats in the da sysctl, but the ATA
TRIM passthru and WRITE SAME paths did not. Add code so they do.

PR: 277637
Reviewed by: imp (tweaked WS path to update ranges)

show more ...


Revision tags: release/13.3.0
# b7dce5b8 19-Feb-2024 Andriy Gapon <avg@FreeBSD.org>

scsi_da: add 4K quirks for Samsung SSD 860 and 870

Although the actual flash page size is either 8K or 16K for those
devices (according to different sources of various reliability), they
seem to be

scsi_da: add 4K quirks for Samsung SSD 860 and 870

Although the actual flash page size is either 8K or 16K for those
devices (according to different sources of various reliability), they
seem to be optimized for the "industry-standard" emulated 4K block size.

To do: consolidate very similar Samsung SSD entries for 830 - 870
models.

MFC after: 2 weeks

show more ...


# 9cc816c2 13-Feb-2024 Dan Kotowski <dan.kotowski_a9development.com>

Fix typo in da flags reporting

ANNOUCNED -> ANNOUNCED

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D41948


# 519b24f0 23-Nov-2023 Alexander Motin <mav@FreeBSD.org>

CAM: Replace random sbuf_printf() with cheaper cat/putc.


# 1b440795 22-Nov-2023 Alexander Motin <mav@FreeBSD.org>

CAM: Use sbuf_new_for_sysctl() in more places

There is no need to allocate buffer, worry about overflows, etc.

MFC after: 2 weeks


Revision tags: release/14.0.0
# 2ffd30f7 06-Nov-2023 Warner Losh <imp@FreeBSD.org>

cam: Remove left-over sys/cdefs.h in sys/cam

These weren't removed when $FreeBSD$ was removed. They aren't needed and
now are a style(9) nonconformity.

Sponsored by: Netflix


# d9fee1d0 24-Aug-2023 Warner Losh <imp@FreeBSD.org>

cam/scsi_da: Bump deprecation one release.

These are still used in a quick poll that I've done, so we can't remove
them in 14. Reset the removal to FreeBSD 15.

Sponsored by: Netflix


# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 7c5d20a6 25-Jul-2023 Warner Losh <imp@FreeBSD.org>

cam/scsi: Migrate to modern uintXX_t from u_intXX_t

As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html
move to the modern uintXX_t.

MFC After: 3 days
Sponsored by: Netflix


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix

show more ...


Revision tags: release/13.2.0, release/12.4.0
# 90bcc81b 14-Jul-2022 Alexander Motin <mav@FreeBSD.org>

Delay GEOM disk_create() until CAM periph probe completes.

Before this patch CAM periph drivers called both disk_alloc() and
disk_create() same time on periph creation. But then prevented disks
fro

Delay GEOM disk_create() until CAM periph probe completes.

Before this patch CAM periph drivers called both disk_alloc() and
disk_create() same time on periph creation. But then prevented disks
from opening until the periph probe completion with cam_periph_hold().
As result, especially if disk misbehaves during the probe, GEOM event
thread, triggered to taste the disk, got blocked on open attempt,
potentially for a long time, unable to process other events.

This patch moves disk_create() call from periph creation to the end of
the probe. To allow disk_create() calls from non-sleepable CAM contexts
some of its duties requiring memory allocations are moved either back
to disk_alloc() or forward to g_disk_create(), so now disk_alloc() and
disk_add_alias() are the only disk methods that require sleeping. If
disk fails during the probe disk_create() may just be skipped, going
directly to disk_destroy(). Other method calls during that time are
just ignored. Since GEOM may now see the disks after CAM bus scan is
already completed, introduce per-periph boot hold functions. Enclosure
driver already had such mechanism, so just generalize it.

Reviewed by: imp
MFC after: 1 month
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D35784

show more ...


# 489ba222 13-May-2022 Mitchell Horne <mhorne@FreeBSD.org>

kerneldump: remove physical argument from d_dumper

The physical address argument is essentially ignored by every dumper
method. In addition, the dump routines don't actually pass a real
address; eve

kerneldump: remove physical argument from d_dumper

The physical address argument is essentially ignored by every dumper
method. In addition, the dump routines don't actually pass a real
address; every call to dump_append() passes a value of zero for
physical.

Reviewed by: markj
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D35173

show more ...


Revision tags: release/13.1.0
# b43cfe71 24-Apr-2022 Warner Losh <imp@FreeBSD.org>

ada/da: Borrow comment from nda about cleanup

Remove a XXX comment and replace it with a more accurate comment about
what happens to I/O queued to the hardware.

Sponsored by: Netflix


# a9a2cdaf 14-Jan-2022 Alexander Motin <mav@FreeBSD.org>

cam: Optimize write protection MODE SENSE in da(4).

Before this change on every open da(4) driver read all mode pages to
use only one bit. It was done so to not depend on the list of pages
supporte

cam: Optimize write protection MODE SENSE in da(4).

Before this change on every open da(4) driver read all mode pages to
use only one bit. It was done so to not depend on the list of pages
supported by the disk. But I've found that at least for SATL of LSI/
Broadcom HBAs with WD HDDs Power Condition mode page reading may take
significant amount of time, much more than any other mode page, that
visibly increased disk retaste time by GEOM.

Address that by using data returned by the first MODE SENSE request
to limit the following ones to only one (the first for now) mode page.

With the change simultaneous retaste of 39 SATA disks takes about 2.5s
instead of more than 4s before, and I no longer see "dareprobe" status
on GEOM event thread.

MFC after: 2 weeks
Sponsored by: iXsystems, Inc.

show more ...


# 85056a56 09-Jan-2022 Warner Losh <imp@FreeBSD.org>

cam: Include more statuses as errors for CAM_IO_STATS

Tag more status return values as an error for the
I/O. CAM_SCSI_STATUS_ERROR is returned for medium errors, for example,
but the counts weren't

cam: Include more statuses as errors for CAM_IO_STATS

Tag more status return values as an error for the
I/O. CAM_SCSI_STATUS_ERROR is returned for medium errors, for example,
but the counts weren't increased. The added errors all indicate a
problem with the device request.

Sponsored by: Netflix
PR: 260257
Feedback from: ken
Reviewed by: asomers
Differential Revision: https://reviews.freebsd.org/D33783

show more ...


# 0e5c50bf 07-Jan-2022 Alexander Motin <mav@FreeBSD.org>

cam: Relax callouts precisions.

On large systems even relatively rare callouts may fire many times
per second. This should allow them to aggregate better, since we do
not require any precision when

cam: Relax callouts precisions.

On large systems even relatively rare callouts may fire many times
per second. This should allow them to aggregate better, since we do
not require any precision when polling for media change, etc.

MFC after: 2 weeks

show more ...


# bb844118 04-Jan-2022 Robert Wing <rew@FreeBSD.org>

cam: don't lock while handling an AC_UNIT_ATTENTION

Don't take the device_mtx lock in daasync() when handling an
AC_UNIT_ATTENTION. Instead, assert the lock is held before modifying the
periph's sof

cam: don't lock while handling an AC_UNIT_ATTENTION

Don't take the device_mtx lock in daasync() when handling an
AC_UNIT_ATTENTION. Instead, assert the lock is held before modifying the
periph's softc flags.

The device_mtx lock is taken in xptdevicetraverse() before daasync()
is eventually called in xpt_async_bcast().

PR: 240917, 226510, 226578
Reviewed by: imp
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D27735

show more ...


# e0ceec67 20-Dec-2021 Wojciech Macek <wma@FreeBSD.org>

cam: don't send scsi commands on shutdown when reboot method RB_NOSYNC

Don't send the SCSI comand SYNCHRONIZE CACHE on devices that are still
open when RB_NOSYNC is the reboot method. This may avoid

cam: don't send scsi commands on shutdown when reboot method RB_NOSYNC

Don't send the SCSI comand SYNCHRONIZE CACHE on devices that are still
open when RB_NOSYNC is the reboot method. This may avoid recursive panics
when doadump is called due to a SCSI/CAM/USB error/bug.

Obtained from: Semihalf
Sponsored by: Stormshield
Reviewed by: imp
Differential revision: https://reviews.freebsd.org/D31549

show more ...


Revision tags: release/12.3.0
# c154feac 25-Nov-2021 Scott Long <scottl@FreeBSD.org>

Fix "set but not used" warnings in CAM.


# 6637b746 24-Nov-2021 Warner Losh <imp@FreeBSD.org>

cam: Remove all the write-only variables

Delete all the write only variables in CAM. At worst, the only behavior
change would be to prevent core dumps from chasing NULL pointers (though
I think in a

cam: Remove all the write-only variables

Delete all the write only variables in CAM. At worst, the only behavior
change would be to prevent core dumps from chasing NULL pointers (though
I think in all these cases the pointers can't be NULL).

Sponsored by: Netflix

show more ...


12345678910>>...38