#
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 ...
|