#
f5cebe73 |
| 04-Feb-2025 |
Warner Losh <imp@FreeBSD.org> |
cam/xpt: Put all messages on one line
Make all error messages from *xpt.c be greppable by putting them on one line, "outdenting" where necessary to keep things under about 90 columns. More of cam co
cam/xpt: Put all messages on one line
Make all error messages from *xpt.c be greppable by putting them on one line, "outdenting" where necessary to keep things under about 90 columns. More of cam could use this treatment, but not finding a message in xpt is what prompted this round.
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0 |
|
#
519b24f0 |
| 23-Nov-2023 |
Alexander Motin <mav@FreeBSD.org> |
CAM: Replace random sbuf_printf() with cheaper cat/putc.
|
Revision tags: release/14.0.0 |
|
#
fd9a4a67 |
| 06-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
cam: Minor opt_cam.h cleanup
sys/cam/cam.h includes opt_cam.h, so none of the clients need to do this. cam.h does all the right dancing to conditionally include opt_cam.h only when it makes sense. I
cam: Minor opt_cam.h cleanup
sys/cam/cam.h includes opt_cam.h, so none of the clients need to do this. cam.h does all the right dancing to conditionally include opt_cam.h only when it makes sense. It generally only matters when cam_debug.h is included (it must be included before that). Many of the stray opt_cam.h includes were after cam_debug.h which would be a problem were it not included in cam/cam.h. The other users of CAM options that aren't debug all already include cam/cam.h.
Also trim unneeded sys/cdefs.h files from the files touched.
Sponsored by: Netflix
show more ...
|
#
c1944a82 |
| 09-Sep-2023 |
Warner Losh <imp@FreeBSD.org> |
cam: Remove extra break
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/
|
#
b2c44f1f |
| 02-Aug-2023 |
John Baldwin <jhb@FreeBSD.org> |
cam: Remove non-sbuf announce/denounce proto and xport ops
Reviewed by: mav, imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D41264
|
#
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, release/13.1.0 |
|
#
356155fe |
| 09-May-2022 |
Alexander Motin <mav@FreeBSD.org> |
Fix bd82711aff98 serial number trailing spaces removal.
For devices returning 16 byte serial numbers with 8 leading spaces this falsely removed everything due to looking at wrong offset.
|
Revision tags: release/12.3.0 |
|
#
bd82711a |
| 05-Nov-2021 |
Warner Losh <imp@FreeBSD.org> |
cam: Remove trailing spaces from serial numbers too
The SanDisk SD8SB8U1 and likely others pad their serial number with spaces on the end rather than the start (at least when connected to a SAS3008)
cam: Remove trailing spaces from serial numbers too
The SanDisk SD8SB8U1 and likely others pad their serial number with spaces on the end rather than the start (at least when connected to a SAS3008). This makes them difficult to wire unit numbers to with the serial because you have to specify the trailing spaces. Instead, strip out the trailing spaces.
We already strip leading spaces both here. In addition, when glabel creates the devfs device nodes, leading and trailing spaces are removed already (so there will be no change there either).
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D32684
show more ...
|
#
0f49ecff |
| 01-Sep-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
cam: revert second half of 75b5caa08ef
This turns debugging printf() into a KASSERT().
Reviewed By: imp Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.f
cam: revert second half of 75b5caa08ef
This turns debugging printf() into a KASSERT().
Reviewed By: imp Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D31523
show more ...
|
#
84d5b6bd |
| 21-Aug-2021 |
Alexander Motin <mav@FreeBSD.org> |
cam(4): Fix quick unplug/replug for SCSI.
If some device is plugged back in after unplug before the probe periph destroyed, it will just restart the probe process. But I've found that PROBE_INQUIRY_
cam(4): Fix quick unplug/replug for SCSI.
If some device is plugged back in after unplug before the probe periph destroyed, it will just restart the probe process. But I've found that PROBE_INQUIRY_CKSUM flag not cleared between the iterations may cause AC_FOUND_DEVICE not reported on the second iteration, and because of AC_LOST_DEVICE reported during the first iteration, the device end up configured, but without any periphs attached.
We've found that enabled serial console and 102-disk JBOD cause enough probe delays to easily trigger the issue for half of the disks. This change fixes it reliably on my tests.
MFC after: 2 weeks Sponsored by: iXsystems, Inc.
show more ...
|
#
303477d3 |
| 11-Aug-2021 |
Alexander Motin <mav@FreeBSD.org> |
cam(4): Mark all sysctls as CTLFLAG_MPSAFE.
This code does not use Giant lock for very long time.
MFC after: 2 weeks
|
#
a081a943 |
| 06-Jul-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
cam: drop unused 'saved_ccb' field from softcs
No functional changes. Do not MFC this, it changes kernel ABI.
Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://re
cam: drop unused 'saved_ccb' field from softcs
No functional changes. Do not MFC this, it changes kernel ABI.
Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D30698
show more ...
|
#
75b5caa0 |
| 16-May-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
cam: turn KASSERTs into printfs for now
It looks like I've missed a couple of places where we don't clear stack-allocated CCBs. Don't panic when that happens, just print a warning.
This is a tempo
cam: turn KASSERTs into printfs for now
It looks like I've missed a couple of places where we don't clear stack-allocated CCBs. Don't panic when that happens, just print a warning.
This is a temporary measure until I get those cases fixed.
Reviewed By: markj Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D30296
show more ...
|
#
0f206cc9 |
| 16-May-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
cam: add missing zeroing of a stack-allocated CCB.
This could cause a panic at boot.
Reported By: Shawn Webb <shawn.webb AT hardenedbsd.org> Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc.
|
#
3394d423 |
| 15-May-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
cam: allocate CCBs from UMA for SCSI and ATA IO
This patch makes it possible for CAM to use small CCBs allocated from an periph-specific UMA zone instead of the usual, huge ones. The end result is t
cam: allocate CCBs from UMA for SCSI and ATA IO
This patch makes it possible for CAM to use small CCBs allocated from an periph-specific UMA zone instead of the usual, huge ones. The end result is that CCBs issued via da(4) take 544B (size of ccb_scsiio) instead of the usual 2kB (size of 'union ccb', ~1.5kB, rounded up by malloc(9)). For ATA it's 272B. We waste less memory, we avoid zeroing the unused 1kB, and it should be easier to allocate those CCBs in low memory conditions. It should also be possible to use uma_zone_reserve(9) to improve behaviour in low memory conditions even further.
Note that this does not change the size, or the layout, of CCBs as such. CCBs get allocated in various different ways, in particular on the stack, and I don't want to redo all that. Instead, this provides an opt-in mechanism for the periph to declare "my start() callback is fine with receiving a CCB allocated from this UMA zone". In other words, most of the code works exactly as it used to; the change only happens to IOs issued by xpt_run_allockq(), which is - conveniently - pretty much all that matters for performance.
The reason for doing it this way is that it's pretty small, localized change, and can be implemented gradually and iteratively: take a periph, make sure its start() callback only casts the CCBs it takes to a particular type of CCB, for example ccb_scsiio, and that it only casts CCBs returned by cam_periph_getccb() to that type, then add UMA zone for that size, and declare it safe to XPT.
This is disabled by default. Set 'kern.cam.ada.enable_uma_ccbs=1' and 'kern.cam.da.enable_uma_ccbs=1' tunables to enable it. Testing is welcome; I will flip the default to enable in two weeks from now.
Reviewed By: imp Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D28674
show more ...
|
#
7818653f |
| 03-May-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
cam: fix integer overflow during inquiry
From my understanding this could happen with iSCSI LUNs with unusually long names. The bug would make CAM fail to retrieve the full inquiry data. Instead o
cam: fix integer overflow during inquiry
From my understanding this could happen with iSCSI LUNs with unusually long names. The bug would make CAM fail to retrieve the full inquiry data. Instead of bumping the size of the local variable, just use a macro.
Reviewed By: imp, mav Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. X-NetApp-PR: #50 Differential Revision: https://reviews.freebsd.org/D29991
show more ...
|
#
ec5325db |
| 10-Apr-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
cam: make sure to clear even more CCBs allocated on the stack
This is my second pass, this time over all of CAM except for the SCSI target bits. There should be no functional changes.
Reviewed By:
cam: make sure to clear even more CCBs allocated on the stack
This is my second pass, this time over all of CAM except for the SCSI target bits. There should be no functional changes.
Reviewed By: imp Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D29549
show more ...
|
Revision tags: release/13.0.0 |
|
#
076686fe |
| 30-Mar-2021 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
cam: make sure to clear CCBs allocated on the stack
This is required for small CCBs support, where we need to track whether the CCB was allocated from an UMA zone or not. There are no (intended) fu
cam: make sure to clear CCBs allocated on the stack
This is required for small CCBs support, where we need to track whether the CCB was allocated from an UMA zone or not. There are no (intended) functional changes with the current source.
Reviewed By: imp Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D29484
show more ...
|
Revision tags: release/12.2.0 |
|
#
27dcd3d9 |
| 02-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
cam: clean up empty lines in .c and .h files
|
Revision tags: release/11.4.0 |
|
#
9982b3ee |
| 16-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
cam: ANSIfy 0-argument function definitions
No functional change.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D24854
|
#
75dfc66c |
| 27-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358269 through r358399.
|
#
7029da5c |
| 26-Feb-2020 |
Pawel Biernacki <kaktus@FreeBSD.org> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
show more ...
|
Revision tags: release/12.1.0 |
|
#
c5c3ba6b |
| 03-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r351317 through r351731.
|